问题

将虚拟机挂起后再次重启,但是 Navicat 工具却无法连接 Docker MySQL 容器。

情况

1、Linux 虚拟机防火墙已关闭
2、使用 XShell 工具可以连接并登录 Linux 虚拟机
3、Docker 服务启动无问题,并且 Linux 本地可以使用 Docker 命令登录 MySQL 容器
4、Linux 虚拟机网络无问题,Linux 虚拟机可以访问外部网络,Windows 也可以 ping 通 Linux 虚拟机

解决方法

临时解决方法

重启网络和 Docker 服务,重启 Docker MySQL 容器,这种方法只对本次 Linux 运行期间有效,如果重新将 Linux 虚拟机挂起,那么依然会有这种问题,需要再次执行以下命令才能 Dokcer 容器的网络为。

systemctl restart NetworkManager docker
docker start mysql

彻底解决方法

创建并编辑文件 /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 服务 和 Docker 服务。

systemctl restart NetworkManager docker
docker start mysql

这种解决方法,即便以后再将 Linux 虚拟机挂起,依然不会出现无法连接 Docker 容器网络的问题。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐