之前使用ros的容器打通隧道使用the dude进行监控,但是磁盘128M很快就满了,本文刚好重新记录下构建过程,搭建可持续使用的容器化监控方案。
ros容器构建源码:https://github.com/EvilFreelancer/docker-routeros/tree/master
最初构建思路:https://habr.com/ru/articles/498012/
本文基于大神们的构建稍微进行调整。
使用vmdk的ros镜像,因为可以直接打开VMware workstation随便建个linux虚拟机选择已有硬盘,创建完成后对vmdk磁盘进行扩容。
Dockerfile手动修改使用自己扩容后的vmdk文件
COPY chr-7.14.2.vmdk /routeros/
开机脚本的启动配置,不用修改什么,可以设置内存大小,接口网卡数量等
docker compose文件:
root@gw:/usr/app/build/ros# cat ../../ros/ros.yml
version: "3.9"
services:
routeros:
image: run/ros:7.14.2
restart: unless-stopped
network_mode: bridge
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
ports:
- "8291:8291"
启动后等待一分钟左右,看容器会不会自动重启。若正常,可以尝试ping 一下容器地址。
等ping通后,(我等了三分钟、、),使用winbox连接到宿主机地址。
账号admin 密码 空
然后手动安装the dude 插件,再重启容器、、等待……
最后打开winbox进入后发现the dude正常,可退出容器,使用docker commit 打包成最终镜像。
当然,也可以打包之前自己用一下license,这样每个容器都有正常的license了。
最终镜像完成后,使用上边的yml文件直接启动最终容器,就可以随便使用了。