Windows环境下Docker部署MySQL容器宿主机连接问题排查
Windows Docker Desktop 部署MySQL容器的宿主机连接排查说明
基础背景
- 使用者为Docker新手,此前查阅了多个StackOverflow同类问题帖,均未解决自身遇到的连接故障
- 已执行的容器启动命令为
docker run -p 3306:3306 --name blaaa -e MYSQL_ROOT_PASSWORD=password -d mysql,完成3306端口的标准宿主机映射配置 - 容器运行状态经核验完全正常,在容器内部可无阻碍访问MySQL数据库
排查过程中遇到的典型现象
- 已知Windows环境下Docker存在无法直接通过localhost访问服务的常见问题,但执行
ipconfig查看网卡列表时,输出结果中未显示Docker对应的虚拟网卡信息 - 执行
docker inspect <容器ID>查询容器详情,仅能看到端口映射配置为0.0.0.0:3306,其余查询到的容器相关IP均无法正常连通 - 从Windows 10宿主机通过MySQL Workbench等数据库客户端,始终无法连接容器内的MySQL服务
问题定位与最终解决
- 逐层排除Docker端口映射、网络配置类故障后,最终确认连接失败并非Docker侧的配置问题
- 故障根源为Windows端使用的数据库客户端本身存在异常:测试使用的MySQL Workbench存在多次无征兆崩溃的表现
- 更换为HeidiSQL客户端后,即可正常连通容器内的MySQL数据库服务
排查连接故障时,不要默认所有问题都来自Docker网络配置,需同步排查本地客户端本身的运行异常
内容的提问来源于stack exchange,提问作者Thomas J.
相关产品推荐
相关产品推荐

