文章目录
修改 docker0 默认网段
场景:
在某些云环境中(如公司机房的私有云),172.17.0.0/16 这个网段已被云中的网络设备使用,在这种环境下,docker0 不能正常打开,这时候需要修改它的网段。或者 docker0 创建后,占用的 172.17.0.0/16 这个网段导致客户云环境的其他功能出现异常,这种场景下也需要修改 docker0 的网段。
处理:
在目录 /etc/docker/daemon.json 文件中添加如下内容:
{
"bip": "172.23.248.0/21"
}
修改docker_gwbridge 默认网段
场景:
docker_gwbridge是Docker内部用来连接容器和宿主网络的一个桥接网络。默认情况下,它的IP地址段是172.18.0.0/16,对吧?可能有时候这个网段和现有的网络冲突了,所以需要改。那么需要怎么修改呢?在网上找了很多方案总是不生效,后面终于找到了一种解决方式,下面总结一下操作步骤:
处理
第一步:修改docker配置文件
在目录 /etc/docker/daemon.json 文件中添加如下内容:
"default-address-pools": [
{
"base": "193.168.0.0/16",
"size": 24
}
]
Tips:网段后面的数字代表子网掩码中连续1的长度
- 如:“192.168.5.0/24” 代表的是:“255.255.255.0”
- 如:“192.168.0.0/16” 代表的是:“255.255.0.0”
- 如:“192.0.0.0/8” 代表的是:“255.0.0.0”
第二步:停止docker服务
systemctl stop docker
第三步:删除local-kv.db文件
cd /var/lib/docker/network/files/
cp local-kv.db local-kv.db.bak
rm local-kv.db
Tips: 这一步很重要,如果不执行该步骤可能在第一步中增加的配置不会生效。
第四步: 启动docker 服务
systemctl start docker
验证是否生效:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.253.95.254 0.0.0.0 UG 100 0 0 ens192
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-59d6d8c036cd
172.253.92.0 0.0.0.0 255.255.252.0 U 100 0 0 ens192
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0
193.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 docker_gwbridge
可以看到,docker_gwbridge的网段已经更改过来了。