关于docker0网段与办公网段冲突的解决历程

主要现象:

 

 

 

以上网段分别为docker0默认网段,以及办公网段

需求主要是通过docker以及docker-compose部署相关应用

docker0的默认网段为172.17.0.1/16,当使用docker-compose的时候,会自动分配一个桥接网络,网段将会是172.18 ,172.19向后叠加

由于办公网段使用的是172.18,段,导致docker-compose部署容器的时候出现网段冲突,导致云机器无法远程

 

以下是解决历程:

1,首先是考虑修改docker0的网段,但是修改之后,虽然docker-compose分配的网段不会冲突(仍是172,-),但是会引起容器内部无法与同网段机器通信,应该是云服务路由的问题(不对请指正)

 

 

 2,直接修改docker-compose部署yaml文件配置,添加自定义网络配置(但是这样会配置所有的配置文件)

 

 

3,最终解决方案,经过一大堆的查询与尝试,目测下面的方式比较好,修改docker网络配置,将所有网段都固定在如下定义的网段中。docker-compose同样使用此网段

size这个参数需要添加,之前有查到不添加此参数的配置,但是应该是有版本要求的(新版本启用此参数,bip参数弃用)

操作步骤: 停止服务---> 停止docker -----> 修改daemon.json ----> 启动docker ---->启动服务

 

 

 一些操作命令(参考使用)

删除原有配置

sudo service docker stop
sudo ip link set dev docker0 down
sudo brctl delbr docker0
sudo iptables -t nat -F POSTROUTING

如无brctl命令,使用如下命令删除docker0网桥
ip link delete docker0

创建新的网桥

  

sudo brctl addbr docker0 (或使用 ip link add docker0 type bridge)
sudo ip addr add 192.168.0.1/24 dev docker0
sudo ip link set dev docker0 up

 

如上,如有问题还请指点批评,也希望能和大家一起探讨容器及k8s方面的知识~

 

posted @ 2020-03-25 10:42  apoorgod  阅读(970)  评论(1)    收藏  举报