共计 579 个字符,预计需要花费 2 分钟才能阅读完成。
众所周知,docker 默认的网桥网卡地址是 172.17.0.1/16
,如果新建网卡的话地址是 172.18.0.1/16
。依此类推,再创建了多块网卡以后,总有一块网卡地址会变成 172.21.0.1/16
。
不巧的是公司内网也是 172.21.0.1/16
网段,每次连接 docker 宿主机时都会死活连不上,猜测应该是这里的影响。
于是想办法修改 docker 的网络地址池,在 /etc/docker/daemon.json 文件添加一个配置 default-address-pools。
{
"default-address-pools": [
{
"base" : "10.10.0.0/16",
"size" : 24
}
]
}
这里为什么选择 A 类私有地址
10.10.0.0/16
,主要是因为 B 类和 C 类 私有地址用得比较多,容易产生冲突。另外,以10.10
做为网络号,而不是以10.1
作为网络号也是为了减小产生冲突的可能。
另外还应该清理一下网络,如果有使用中的自定义网络,建议先把容器停止,否则自定义的网桥 ip 不会以新的规则重新分配。
docker network prune
然后重新加载配置并重启 docker。
systemctl daemon-reload && systemctl restart docker
查看网桥 IP 段发现已经改变:
docker network inspect bridge | grep Subnet
提醒:本文发布于619天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完