一、创建容器所需的运行环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#开启容器模式
/system/device-mode/ update container=yes
#如果是补丁版本,用telnet进入devel用户然后运行
#reboot -f
#可以完成硬件重启识别

#创建veth接口
/interface/veth/add name=veth1 address=172.17.0.2/24 gateway=172.17.0.1
#创建container并加入bridge
/interface/bridge/add name=containers
/ip/address/add address=172.17.0.1/24 interface=containers
/interface/bridge/port add bridge=containers interface=veth1
#出栈流量进行SNAT转发
/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24
#设置docker仓库地址
/container/config/set registry-url=https://registry-1.docker.io

我使用的是别人已经编译好带systemd的容器镜像
下载完之后使用WSL或者任意一个Linux系统进行导出即可

1
2
docker pull trfore/docker-debian12-systemd
docker save trfore/docker-debian12-systemd > debian12-systemd.tar

将输出的debian12-systemd.tar上传到RouterOS根目录
最后新建容器即可

1
/container/add file=debian12-systemd.tar interface=veth1 start-on-boot=yes