使用docker时,如果发现局域网172网段的无法互相访问时,手动修改路由重启系统又出现,这是因为docker默认生成的桥接网卡ip网段也是172,和局域网冲突了。
修改docker的默认IP段!
编辑daemon.json
# vi /etc/docker/daemon.json
{
"bip": "172.169.0.1/24",
"default-address-pools": [{
"base": "172.169.0.1/16",
"size": 24
}]
}
增加指定段。
重新加载docker配置
systemctl daemon-reload
重启docker
systemctl restart docker
再次启动docker后,检查网桥是否已迁到新网段
netstat -rn
正常已经可以了。
其他
如果网卡没有删除,可以试试以下手动清理的方式。
使用ip addr flush
命令清除docker0网桥的IP地址。
$ sudo ip addr flush dev docker0
然后使用ip addr add
命令添加一个新的IP地址。
$ sudo ip addr add 192.169.0.1/24 dev docker0
然后在执行上述方式
更多
如果还不行,不同的系统删除的差异,可以参考以下自行使用:
# 查看网卡
brctl show
# 查看docker网络
docker network ls
# 停用docker服务后删除对应的桥接网络,如果使用docker-compose down去停应用,则不需要手工删除
docker network rm xxx
# 删除网卡路由
ip route delete 172.xx.0.0/16
# 删除网卡
brctl delbr br_xxxxx
# 配置永久路由,不过搞定了docker默认网段,这个其实也用不上了
vi /etc/sysconfig/network-scripts/route-ens33