docker网关冲突(启动docker、启动容器、docker-compose启动容器后,断网问题)
部署项目时,由于是在甲方公司部署,一切都是甲方提供,甲方提供的服务器是 网关172.xx 的。部署docker时,忽视了docker默认docker0网桥的网关也是172.xx所以就出现了 启动docker后就直接断网,远程连接不上服务器了,重启服务器也可以链接上,重启docker又连接不上。可以设置docker默认网关 :vim /etc/docker/daemon.js...
部署项目时,由于是在甲方公司部署,一切都是甲方提供,
甲方提供的服务器是 网关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的。
更多推荐
所有评论(0)