解决虚拟机挂起重连后无法连接docker容器的问题
最近在docker中部署各种容器时,遇到一个问题:每次挂起虚拟机恢复后,就无法连接docker中的容器了,必须要重新启动容器才能正常连接,非常麻烦,查阅各种资料后,解决方法如下。
·
问题描述
最近在docker中部署各种容器时,遇到一个问题:每次挂起虚拟机恢复后,就无法连接docker中的容器了,必须要重新启动容器才能正常连接,非常麻烦,查阅各种资料后,解决方法如下
1、关闭防火墙
由于我是学习环境,所以直接关闭防火墙了,这样就不用每次部署容器时一个个去开放端口,这一步根据自己需要来
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
2、修改ipv4转发状态
首先打开配置文件
vi /usr/lib/sysctl.d/00-system.conf
添加如下信息
net.ipv4.ip_forward = 1
保存退出后,重启网络服务
systemctl restart network
之后查看ipv4转发状态
sysctl net.ipv4.ip_forward
显示 net.ipv4.ip_forward=1 则成功
3、将docker的网络接口设置为不被NetworkManager管理
这一步参考了StackOverflow上的一篇帖子:
https://stackoverflow.com/questions/57874055/cant-connect-to-docker-after-resuming-vm
新建一个配置文件
vi /etc/NetworkManager/conf.d/10-unmanage-docker-interfaces.conf
在文件中添加如下内容
[keyfile]
unmanaged-devices=interface-name:docker*;interface-name:veth*;interface-name:br-*;interface-name:vmnet*;interface-name:vboxnet*
保存退出后,重启NetworkManager
systemctl restart NetworkManager
完成上面三步后,就算挂起虚拟机重连,也能正常访问docker中的容器了
更多推荐
已为社区贡献2条内容
所有评论(0)