首先,先定位问题,你是否符合我这个情况
你的网络使用NetworkManager进行管理 不是传统的ifcfg-eth0 network网络,现在一般centos6/7 都是用的传统方式,我的系统版本是RockyLinux9.5,属于在centos的延续版本,所以使用了较为新的技术NetworkManager进行管理。 如果你用的前面的两个版本,有的直接重启docker服务即可,但是彻底解决的话,我帮你跳转一下指定的链接 点我链接
其次,先检查网络管理设备列表
nmcli device status
看目前的docker容器是否被NM进行托管,我这个是设置后的效果
方案:用 Keyfile 插件的 unmanaged-devices
-
在
/etc/NetworkManager/conf.d/10-no-docker.conf
(新文件)里写入:
[main]
plugins=keyfile
[keyfile]
unmanaged-devices=interface-name:docker0;interface-name:br-*;interface-name:veth*
重启 NM:
sudo systemctl restart NetworkManager
验证:
nmcli device status # docker0/br-*/veth* 应该显示为 "unmanaged"
这样,无论是重启还是唤醒,NM 都自始至终不会再碰它们。
你会发现你的列表,docker变成了,我开启的样子