使用docker部署时,若服务器的ip使用的是172.xxx.xxx.xxx网段的,就很有可能出现网段冲突的问 题:启动docker后就直接断网、重启服务器就可以连上,但启动docker后又连接不上。
原因:docker默认docker0网桥的网关也是172.xxx.xxx.xxx网段的。
解决办法:
设置docker网桥默认网关:编辑/etc/docker/daemon.json(若不存在新建即可),增加以下配置,bip放在第一层(和"registry-mirrors"平级即可):
{
"bip": "178.90.0.1/24"
}
再重启docker服务:systemctl restart docker
但当docker创建新自定义网络时,或者通过在docker-compose.yaml的网络部分中定义时,这些会仍然默认在172中创建,因此还是会冲突。
解决办法:
设置docker默认地址池:编辑/etc/docker/daemon.json(若不存在新建即可),增加以下配置,"default-address-pools"放在第一层(和"registry-mirrors"平级即可):
{
"default-address-pools" : [
{
"base" : "18.0.0.0/16",
"size" : 24
}
]
}
再重启docker服务:systemctl restart docker
修改成功的效果: