DOCKER默认虚拟网卡IP地址段导致的网络访问异常问题
一、背景docker服务默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致路由转发异常,有服务本来时可以访问的,但是由于装了docker之后导致服务访问不到的问题。第一步 删除原有配置sudo service docker stopsudo ip link set ...
·
一、背景
docker服务默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致路由转发异常,有服务本来时可以访问的,但是由于装了docker之后导致服务访问不到的问题。
第一步 删除原有配置
sudo service docker stop
sudo ip link set dev docker0 down #关闭网卡
sudo brctl delbr docker0 #删除docker0网卡
sudo iptables -t nat -F POSTROUTING
第二步 创建新的网桥
sudo brctl addbr docker0 #新增网卡
sudo ip addr add 192.168.200.1/24 dev docker0
sudo ip link set dev docker0 up
第三步 配置Docker的文件
注意: 这里是 增加下面的配置(注:rpm包安装的docker没有这个文件,可以自己手动建一个同名文件就行,路径最好一致,否则还要启动的时候,指定配置文件路径)
vi /etc/docker/daemon.json
{ "bip": "192.168.200.1/24", }
docker的配置现在都是用daemon.json了,不需要去设置DOCKER_OPTS, 所以网络上很多的资料早已过时。
关于daemon.json可以参考这篇文章 https://www.antergone.com/42.html
第四步 重启主机
sudo reboot
更多推荐
已为社区贡献1条内容
所有评论(0)