手里的一个N1盒子已经刷了Armbian系统,一直想用docker安装openwrt,但是flippy的镜像更新停留在两年前,没有集成主要的上网的插件,于是就去Docker仓库查询有没有合适的镜像,由于是arm架构的,适配不是很好,最终决定尝试此款镜像piaoyizy/openwrt-aarch64。
安装OpenWrt
开启网卡混杂模式
ip link set eth0 promisc on
创建网络
docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=eth0 macnet
运行容器
docker run -d --name=OpenWrt --restart always --privileged --network macnet --ip 192.168.31.100 piaoyizy/openwrt-aarch64:latest
运行容器的时候会有下面这个警告,忽略即可,没什么影响
root@armbian:~# docker run -d –name=OpenWrt –restart always –privileged –network macnet –ip 192.168.50.100 piaoyizy/openwrt-aarch64:latest
WARNING: The requested image’s platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
a0765d1f341f29051ad6fdd4253720c5c56bca71162401f61f22817b1125a759
配置容器网络
进入容器命令行 docker exec -it xxxx bash #xxxx为容器ID前四位 编辑网络配置文件 bash-5.2# vim /etc/config/network config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.31.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.31.1' option dns '192.168.31.1' 重启网络 bash-5.2# /etc/init.d/network restart 退出容器 bash-5.2# exit
实用命令
docker ps -a #查看运行的容器 docker stop 容器ID #停止正在运行的容器 docker rm 容器ID #删除容器 docker images #查看所有镜像 docker rmi 镜像ID #删除镜像 docker network ls #查看所有网络 docker network rm 网络ID #删除网络 docker exec -it xxxx bash #进入容器命令行
界面截图
写在最后
这款镜像界面简单,主要集成了几个常用的科学插件,精简了不常用的插件,作为旁路由使用完全满足自己的需求和审美。