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

一、vyos安装

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

二、vyos基本配置

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

三、拉取镜像

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

3.1、查看镜像命令

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

show container image

yydy_2024-01-17_20-16-06

3.2、方法一

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

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

yydy_2024-01-17_20-27-05

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

show container image

yydy_2024-01-17_20-28-02

3.2、方法二

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

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

yydy_2024-01-17_20-32-58

四、删除镜像

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

delete container image 537ad1833bf1

yydy_2024-01-17_20-36-52

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

show container image

yydy_2024-01-17_20-38-07

五、创建容器

在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是否创建成功,下面配置容器外部卷需要使用

yydy_2024-01-17_20-58-26

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

yydy_2024-01-17_21-01-17

七、查看容器日志

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

run show container log halo

yydy_2024-01-17_21-04-08

八、访问Halo测试

http://your-ip:8090

yydy_2024-01-17_21-09-14

九、迁移本站测试

yydy_2024-01-17_22-14-05