我想删除接口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