Docker Compose环境下同主机其他容器无法连接MySQL容器问题求助
无法连接MySQL容器的核心原因
- 你在
cwj容器内使用127.0.0.1作为MySQL连接地址是错误的:每个容器的127.0.0.1指向自身的环回接口,你配置的127.0.0.1:3306端口映射仅对宿主机生效,容器内部访问同环境的其他服务不会走宿主机的端口映射规则。 - Docker Compose默认会为同一配置文件下的所有服务创建专属内部网络,同网络内的容器可以直接使用服务名作为域名互相访问,不需要额外配置端口映射。
解决方法
把连接命令的主机地址替换为MySQL服务的服务名mysql即可正常连接:
mysql -hmysql -uroot
如果需要提前验证网络连通性,可以先在cwj容器内执行ping mysql确认域名解析正常。
内容的提问来源于stack exchange,提问作者Jason Swett
相关产品推荐
相关产品推荐

