发布网友 发布时间:2022-12-03 06:11
共1个回答
热心网友 时间:2023-11-16 08:30
Docker安装后,默认会创建一个名为Docker0的虚拟网卡,使用的是172.17.*网段,用于为容器分配IP
可以通过ifconfig命令查看所有网络情况(如命令不存在,yum install net-tools安装)
下图为Docker0网络默认
而172段有时候会被公司内网专用,这样会造成在该服务器上访问公司172网络时路由到容器网络。
修改容器配置项,重新设置Docker路由,Docker版本为18.06,该方案向后兼容。
vim /etc/docker/daemon.json
添加一行 "bip": "192.168.210.1/24",该行建议放JSON第一行。
{
"bip": "192.168.210.1/24",
其他配置
}
service docker restart 重启容器
重启后再次运行ifconfig查看docker0是否变成192段,笔者测试个别机器重启容器就生效,但大部分机器不会直接生效,需要重启服务器后生效。
ifconfig返回
route命令返回:
查看容器实际IP,如果仍为172段则重启该容器
返回
1.较早版本的Docker是需要修改docker.service文件,自行创建网桥,比较复杂。
2.Docker安装规划时就建议规划好Docker网络,安装后就改掉网段,不然后面再改还是会影响线上环境的,而且如果没有及时发现这种问题,会导致很难排查。
3.如果是k8s生成的容器,则默认走flannel分配,flannel分配的IP段是k8s初始化及安装flannel时指定。