启动Docker后ssh连接自动断开且无法连接

CentOS7.9在启动Docker之后会出现卡死,ssh远程连接(XShell)自动断开且无法再次连接,仅重启后方能连接,但启动Docker之后依旧出现前面的相同情况的问题解决方案

所属分类 运维

相关标签 DockerSSH连接

问题描述

CentOS环境启动Docker后卡住,此后会发现ssh远程连接被断开,且此后无法连接服务器。

具体情况如下图:

/static/upload/post/1645764637203.jpg

必须直接登录环境后,重启才能正常连接ssh。

但是一旦启动Docker还是会出现相同情况。

原因分析

Docker默认使用Bridge桥接模式,其本质类似于NAT。

/static/upload/post/1645764649411.png

通过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连接了。

/static/upload/post/1645764657813.png

解决手段

修改Docker桥接绑定的ip,使其与宿主机IP不再同一个网段。

环境上不一定有这个文件,没有直接vi编辑保存新增即可。

{
    "bip": "172.16.0.1/12"
}
# 加载配置
systemctl daemon-reload
# 重启Docker
systemctl restart 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

/static/upload/post/1645764667624.png

补充阅读

局域网保留网段:

  • A类:10.0.0.0/8 10.0.0.0~10.255.255.255
  • B类:172.16.0.0/12 172.16.0.0~172.31.255.255
  • C类:192.168.0.0/16 192.168.0.0~192.168.255.255

米虫

做一个有理想的米虫,伪全栈程序猿,乐观主义者,坚信一切都是最好的安排!

本站由个人原创、收集或整理,如涉及侵权请联系删除

本站内容支持转发,希望贵方携带转载信息和原文链接

本站具有时效性,不提供有效、可用和准确等相关保证

本站不提供免费技术支持,暂不推荐您使用案例商业化

选择个人头像

昵称

邮箱

QQ

网址

评论提示

  • 头像:系统为您提供了12个头像自由选择,初次打开随机为你选择一个
  • 邮箱:可选提交邮箱,该信息不会外泄,或将上线管理员回复邮件通知
  • 网址:可选提交网址,评论区该地址将以外链的形式展示在您的昵称上
  • 记忆:浏览器将记忆您已选择或填写过得信息,下次评论无需重复输入
  • 审核:提供一个和谐友善的评论环境,本站所有评论需要经过人工审核