如何删除接口docker0



我想删除接口docker0。在启动服务并直接使用eth0时,最好避免创建接口docker0。

删除接口,使用:

ip link delete docker0

您可能需要sudo权限

默认情况下,Docker服务器创建并配置主机系统的docker0接口作为Linux内核内的以太网桥接器,可以在其他物理或虚拟网络接口之间来回传递数据包,以便它们表现为单个以太网。

了解Docker容器网络并自定义docker0桥

当你安装Docker时,它会自动创建三个网络。您可以使用docker network ls命令列出这些网络:

$ docker network ls

历史上,这三种网络(bridge, none, host)是Docker实现的一部分。在运行容器时,可以使用——network标志来指定要在哪个网络上运行容器。这三个网络仍然可以为您服务。

桥接网络表示所有Docker安装中存在的docker0网络。除非你用docker run——network=选项指定,否则docker守护进程默认将容器连接到该网络。通过在主机上使用ifconfig命令,您可以将此网桥视为主机网络堆栈的一部分。

我支持@gile的方案。

删除接口时要小心。我不建议您删除桥接docker0(在我的情况下,默认的docker0作为桥接)。

文档说:

桥接网络通常在独立容器中使用需要沟通。

https://docs.docker.com/network/网络驱动程序

如果你想删除这个接口,除了上面的解决方案之外,你还可以使用以下工具(对于删除/添加接口,我建议你使用docker提供的工具):

nmcli connection delete docker0
docker network rm docker0
brctl delbr docker0

如果你不想在docker启动时创建docker0接口,那么编辑守护进程。Json (docker的配置文件)文件添加"bridge"; "none"

我安装docker后连接到VPN有问题。解决方案如下:

在linux下执行ip route命令可以看到ip route表。然后删除所有以172.16.x.x开头的域。

例如:

> ip route                                                                                                                                                                                
default via 192.168.1.1 dev wlp2s0 proto dhcp metric 20600 
169.254.0.0/16 dev wlp2s0 scope link metric 1000 
172.16.14.0/24 dev vmnet8 proto kernel scope link src 172.16.14.1 
172.16.57.0/24 dev vmnet1 proto kernel scope link src 172.16.57.1 
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.4 metric 600

然后像下面这样删除它们:

sudo ip route del 172.16.14.0/24 dev vmnet8 proto kernel scope link src 172.16.14.1  
sudo ip route del 172.16.57.0/24 dev vmnet1 proto kernel scope link src 172.16.57.1 

最新更新