Docker 宿主机不能访问了?这篇文章帮你解决网卡与内网 ip 段的冲突问题

147次阅读
没有评论

共计 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

提醒:本文发布于360天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 
阿蛮君
版权声明:本站原创文章,由 阿蛮君 2023-04-03发表,共计579字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 无忧云 提供安全防护和加速服务