请扫码加微信



7*24小时服务热线

4006-371-371

关注微信公众号

docker网关冲突--系统内外网不通

分类 云主机帮助 阅读438 次 发布日期 2021-04-14
        咱们在部署项目时,由于是在甲方公司部署,一切都是甲方提供,甲方提供的服务器是 网关172.xx  的。
部署docker时,忽视了docker默认docker0网桥的网关也是172.xx,所以就出现了 启动docker后就直接断网,远程连接不上服务器了,重启服务器也可以链接上,重启docker又连接不上。

        解决思路可以设置docker默认网关 :
vim  /etc/docker/daemon.json   //如果没有该文件,请新建。
{
  "bip": "192.168.1.1/24"   #自定义docker0 网桥
}

        如果是用docker-compose 启动服务时, docker-compose 默认也会启一个网桥,而且是以宿主机的网关为网关的网桥。所以这才是出问题的罪魁祸首。一用docker-compose 启动服务,立马断网。可以通过配置 docker-compose.yml内 给启动的容器配置参数

network_mode: "bridge"   //这是可以使用docker 默认网桥docker0或者其他非宿主机网关也行。当然前提是docker0 已经设置为与宿主机网桥不同网关段。

        如果是已经使用docker-compose 启动过服务,这时候重启docker,docker会默认尝试运行那个容器,那个容器的网关还是之前的网关所以还是会出现断网问题,这个时候只能删除掉容器,卸载docekr,重装都不行,因为docker容器还在,如果docker删除干净连带着容器一起删除应该是可以的。如果 192 也冲突了  还是可以使用 10.xx。一般这种情况很少出现 一般内网都是192的。