概述
CentOS7.9在启动Docker之后现卡死,ssh远程连接(XShell)自动断开且无法再次连接,仅重启后方能连接,但启动Docker之后依旧出现前面的相同情况的问题解决方案
1、问题描述
CentOS环境启动Docker后卡住,此后会发现ssh远程连接被断开,且此后无法连接服务器。
具体情况如下图:
必须直接登录环境后,重启才能正常连接ssh。
但是一旦启动Docker还是会出现相同情况。
原因分析
Bridge桥接模式
Docker默认使用Bridge桥接模式,其本质类似于NAT。
错误原因
通过ip addr查看宿主机IP为192.168.1.33
Docker创建了一个虚拟网络桥连,使用了192.168.1.35。
由于Docker的桥接网段和宿主机在一个网段,导致XShell进行ssh访问192.168.1.33直接找到了Docker的网桥IP(192.168.1.35)。
而网桥IP(192.168.1.35)仅有宿主机可以访问,就导致XShell无法进行ssh连接了。
解决手段
修改Docker桥接绑定的ip,使其与宿主机IP不再同一个网段。
方案1:/etc/docker/daemon.json
环境上不一定有这个文件,没有直接vi编辑保存新增即可。
{
"bip": "172.16.0.1/12"
}
# 加载配置
systemctl daemon-reload
# 重启Docker
systemctl restart docker
方案2:/etc/default/docker
vi /etc/default/docker
# 新增或修改
DOCKER_OPTS="--bip=172.16.0.1/12"
# 编辑服务配置
vi /etc/systemd/system/docker.service
# 如果docker.service文件不存在,则看 /lib/systemd/system/docker.service
# 增加生效配置
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS
# 重启Docker
systemctl restart docker
生效成功
最后
以上就是明亮小蝴蝶为你收集整理的启动Docker后ssh连接自动断开且无法连接原因分析解决手段的全部内容,希望文章能够帮你解决启动Docker后ssh连接自动断开且无法连接原因分析解决手段所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复