Linux服务器因Docker启动而导致无法访问的解决方法

环境背景:

        服务器A在外地,本地通过VPN连接沟通网络。

问题描述:

        服务器因为故障而宕机,重启以后,无法远程连接。远程还有一台服务器 B和A在一个网段,却能访问。而且在IDC机房也能访问到服务器A和服务器B,也就是说只有我本地的机器不行。

服务器A无法访问

 服务器B正常访问

问题解决:

咨询了一下网络部的同事 说是有可能是docker导致的,于是回来查看了一下服务器

服务器A docker启动,服务器B docker未启动。

把服务器B启动后 本地也访问不到了 。问题确认时docker搞的鬼。

于是通过跳转连接的服务器A把 docker也停掉了 本地的确可以连接上了。。。

但是这不是根本解决办法。能连上 docker不启动 也没有用啊。

继续找问题。

发现配置/etc/docker/daemon.json 如下

 ip addr 看下本地网络连接

docker配置网桥IP地址和本地网络的网桥IP不匹配。感觉问题找到了。因为我的本地IP也是172.17段的。

下一步如何给docker换个网桥地址呢。于是度娘找答案。

干货在这里Docker 配置固定IP及桥接的实现方法_docker_脚本之家

root@Docker:~# ifconfig | grep docker0   #docker默认网桥
docker0 Link encap:以太网 硬件地址 56:84:7a:fe:97:99
root@Docker:~# ifconfig docker0 down    #停止docker默认网桥
root@Docker:~# brctl show          #查看物理机上有哪些网桥
root@Docker:~# brctl delbr docker0     #删除docker默认网桥
root@Docker:~# brctl addbr docker_new0   #自定义网桥
root@Docker:~# ifconfig docker_new0 192.168.6.1 netmask 255.255.255.0  #给自定义网桥指定IP和子网
root@Docker:~# ifconfig | grep docker_new0 #查看发现自定义网桥已经启动
docker_new0 Link encap:以太网 硬件地址 0a:5b:26:48:dc:04 
     inet 地址:192.168.6.1 广播:192.168.6.255 掩码:255.255.255.0
root@Docker:~# echo 'DOCKER_OPTS="-b=docker_new0"' >> /etc/default/docker #指定网桥写入docker配置文件
root@Docker:~# service docker start     #启动docker

按照上面的方法重新设置docker的网桥 。启动docker。OK没掉线。成功搞定。

总结:

问题应该是docker的默认网桥恰好和本地网络IP冲突 导致本地IP被屏蔽。重新设置一个不冲突的网桥地址给docker就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值