有什么方法可以在docker启动时禁用docker0网桥吗?
在daemon.json中尝试了“ bridge”:“ none”,但不起作用。
还使用“ ip link delete docker0”删除了默认的docker bridge,但是当我们重新启动docker时,它会自动出现。那么在启动时是否有任何永久性的方法来禁用/删除默认的docker bridge? 我在这里How to delete interface docker0看到了同样的问题,但是我已经尝试过了,每当重新启动docker0时,docker0桥就会回来。
答案 0 :(得分:2)
创建文件/etc/docker/daemon.json
{
"iptables": false,
"bridge": "none"
}
然后重启docker:
systemctl restart docker
答案 1 :(得分:1)
我想我找到了答案。为了禁用默认的桥接网络,请在daemon.json中添加“ bridge”:“ none”,然后重新启动docker服务。如果没有正在运行的容器,那么更改将立即生效。就我而言,已经有一些容器正在运行,并且这些更改没有生效。检查日志后,可能会看到信息msg =“有旧的正在运行的容器,网络配置不会生效”。因此,我停止了正在运行的容器并重新启动了docker服务。之后,该网桥网络将被禁用。希望对别人有帮助。
答案 2 :(得分:-3)
要禁用docker,您必须在启动时禁用docker.socket和docker.service:
(这已在Ubuntu 16.04 LTS中进行了尝试,它也应在其他Linux平台上运行,在Windows上也应与该命令等效)
sudo systemctl disable docker.service
sudo systemctl disable docker.socket
在那之后,docker0(以及由docker添加的其他可能的设备)将不会在系统启动时显示。