如何在docker启动时删除/禁用docker0网桥

时间:2018-09-03 08:38:59

标签: docker docker-network

有什么方法可以在docker启动时禁用docker0网桥吗?

在daemon.json中尝试了“ bridge”:“ none”,但不起作用。

还使用“ ip link delete docker0”删除了默认的docker bridge,但是当我们重新启动docker时,它会自动出现。那么在启动时是否有任何永久性的方法来禁用/删除默认的docker bridge? 我在这里How to delete interface docker0看到了同样的问题,但是我已经尝试过了,每当重新启动docker0时,docker0桥就会回来。

3 个答案:

答案 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添加的其他可能的设备)将不会在系统启动时显示。