文章说明:介绍在vyos软路由上配置container容器,vyos最新滚动版1.5已经支持在vyos命令行中启动docker容器,在vyos
官网介绍是说1.3版本之后就都有这个功能了,如果你的版本是1.3之后的可以玩container,接下来介绍怎么创建容器,比如搭建一个Halo博客。

博主官方博客:杨杨得亿-https://yangpin.link

一、vyos安装

【Vyos-开源篇-1】- VMware安装vyos虚拟机

二、vyos基本配置

【Vyos-开源篇-2】- vyos软路由基本配置

三、拉取镜像

vyos拉取容器镜像其实跟docker命令的pull原理一样,只不过是换了命令而已,拉取容器镜像的地址一般都是用docker官网的(docker.io)或者github镜像站(ghcr.io),俩个镜像站可能都需要魔法才能正常访问。

3.1、查看镜像命令

可以看到当前没有镜像文件

show container image

3.2、方法一

方法一使用podman方式测试拉取halo-plus:1.1.4版本镜像,拉取镜像前默认你的vyos已经按照第二步基本配置中都设置好了,主要是上网和dns,不然拉取镜像时会报错。

sudo podman image pull docker.io/nineya/halo-plus:1.1.4

查看镜像,可以看到镜像已经拉取成功。

show container image

3.2、方法二

方法二使用vyos内置的命令拉取容器镜像,比如演示拉取halo-plus:1.1.2版本镜像,通过show命令可以看到,拉取成功。

add container image docker.io/nineya/halo-plus:1.1.2

四、删除镜像

比如我们要删除halo-plus:1.1.2镜像,可以使用下面的命令删除,IMAGE ID 需要使用自己的,正常情况我们的都不一样。

delete container image 537ad1833bf1

再次查看当前镜像文件,halo-plus:1.1.2版本已经删除了。

show container image

五、创建容器

在vyos中创建一个容器前,需要先创建要容器外卷存储的位置,比如我们要创建halo-plus,首先我们要创建好halo-plus的配置文件夹(.halo-plus)。

5.1、创建卷

sudo mkdir -p /home/vyos/halo-plus;cd /home/vyos/halo-plus;sudo mkdir .halo-plus
pwd #查看当前路径
ls -al #查看.halo-plus是否创建成功,下面配置容器外部卷需要使用

5.2、配置容器镜像

创建halo容器使用halo-plus:1.1.4镜像。

configure #配置模式
set container name halo image 'docker.io/nineya/halo-plus:1.1.4'

5.3、配置容器网络

允许容器与主机共享网络。

set container name halo allow-host-networks

5.4、配置容器名称

set container name halo host-name halo-plus

5.5、配置容器状态

当halo容器失败时,Docker 将自动重启halo容器,并始终保持运行状态。

set container name halo restart always

5.6、配置容器内部卷

set container name halo volume halo destination '/root/.halo-plus'

5.7、配置容器外部卷

set container name halo volume halo source '/home/vyos/halo-plus/.halo-plus'
commit #应用以上配置
save #保存配置到config.boot开机启动配置文件中

六、查看容器状态

halo容器正常启动,显示UP状态。

run show container

七、查看容器日志

可以看到容器完整启动日志,最后显示halo-plus已经start。

run show container log halo

八、访问Halo测试

http://your-ip:8090

九、迁移本站测试

【VyOS-开源篇-3】- container for vyos 搭建 Halo 博客-vyos-开源篇的更多相关文章

  1. 利用Hexo搭建个人博客-博客初始化篇

    上一篇博文 <利用Hexo搭建个人博客-环境搭建篇> 中,我们讲解了利用Hexo搭建个人博客应该要配置哪些环境.相信大家已经迫不及待的想要知道接下来应该要怎么把自己的博客搭起来了,下面,让 ...

  2. python关于Django搭建简单博客项目(详解一)

    上一篇我们说了如何搭建简易博客网站,下面我们来进行详细解答.本文没有特定顺序,请结合上一篇和源代码参照学习. 相关源代码和解析请参看:https://github.com/Cheng0829/mysi ...

  3. 利用Hexo搭建个人博客-环境搭建篇

    我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...

  4. 利用Hexo搭建个人博客-博客发布篇

    通过 <利用Hexo搭建个人博客-环境搭建篇> 以及 <利用Hexo搭建个人博客-博客初始化篇>,我们了解到了利用Hexo搭建个人博客需要的环境以及配置,下面这篇文章将会介绍如 ...

  5. 基于Hexo+Node.js+github+coding搭建个人博客——基础篇

    附上个人教程:http://www.ookamiantd.top/2017/build-blog-hexo-base/ 搭建此博客的动机以及好处在此就不多谈了,之前已经表达过,详情请看Start My ...

  6. 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)

    环境介绍 资源 说明 centos v7.2 docker 快速部署项目环境 nginx 反向代理,同时配置https证书 halo v1.4.2,开源博客项目 Let's Encrypt 免费证书 ...

  7. 使用jekyll在GitHub Pages上搭建个人博客【转】

    网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...

  8. 阿里云+wordpress搭建个人博客网站【小白专用的图文教程】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. 阿里云+wordpress搭建个人博客网站

    [正文] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安装wordpress 6.域名解析 声明一下,本人对服务器端的知识 ...

  10. 《Hexo+github搭建个人博客》

    <Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+g ...

随机推荐

  1. 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    那提到Redis我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请下一位受害者. 面 ...

  2. openpyxl模块操作Excel

    1.openpyxl模块了解 1.excel版本问题 03版本之前的excel文件后缀名xls 03版本之后的excel文件后缀名xlsx 2.python操作excel表格的模块 openpyxl ...

  3. vue3 快速入门系列 —— 状态管理 pinia

    其他章节请看: vue3 快速入门 系列 pinia vue3 状态管理这里选择 pinia. 虽然 vuex4 已支持 Vue 3 的 Composition API,但是 vue3 官网推荐新的应 ...

  4. 如何通过前后端交互的方式制作Excel报表

    前言 Excel拥有在办公领域最广泛的受众群体,以其强大的数据处理和可视化功能,成了无可替代的工具.它不仅可以呈现数据清晰明了,还能进行数据分析.图表制作和数据透视等操作,为用户提供了全面的数据展示和 ...

  5. Go语言的包(package)

    包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔. 想要被别的包调用标识符都要的首字母大. 单行导入和多行导入. 导入包不想使用内部的标识符,需要使用匿名导入. 每个包导入的时候会自动 ...

  6. mod操作符效率高吗?

    编程语言中mod取余操作符%的效率不是很高,比如M = N % 10,它花费得时间本机测试是1ms,而如果使用M = N - N / 10 * 10,则只需要0.1ms. 所以平时变成得时候,可以尽量 ...

  7. DNS(7) -- 智能DNS实现

    目录 1. 智能DNS 1.1 智能DNS概述 1.2 ACL控制列表 1.3 智能DNS实现 1.3.1 bind-view功能 1.3.2 智能DNS场景实现 1.3.3 生产场景配置示例 1. ...

  8. 🔥🔥🔥httpsok-v1.8.0 SSL证书自动续签就应该这么简单

    httpsok-v1.8.0 SSL证书自动续签就应该这么简单 简介 一行命令,一分钟轻松搞定SSL证书自动续期 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设 ...

  9. PageOffice动态生成Word文件并转换为PDF

    说明:PageOffice是客户端插件,做不到纯后台调用把word转为pdf.但是pageoffice的FileMaker对象可以实现不在客户端打开文件直接转换文件为pdf并保存到服务器端,看起来跟服 ...

  10. .net core DataTable.Load()方法,返回的行缺少,少于reader读出的行

    我分析的原因是,datatable模式的schema默认是根据查询的sql来的.起因是我写的sql中带有主键的列,查出来有很多重复值, 然后dt.load会默认把主键重复的行给合并掉,所以最终查询出来 ...