You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从mysql-client Docker容器连接mysql-server容器?求最佳实践

Docker容器间MySQL连接的最佳实践

问题根源

你遇到的容器名解析失败,是因为默认的Docker bridge网络不提供容器名称的DNS解析能力,只有自定义Docker网络才支持容器名到IP的自动映射。

标准解决方案步骤

  1. 创建自定义Docker网络

    docker network create mysql-network
    
  2. 在自定义网络中启动MySQL服务端容器

    docker run --name mysql_server --network mysql-network -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
    
  3. 在同一网络下启动客户端容器并连接

    docker run -it --network mysql-network mysql mysql -hmysql_server -uroot -p
    

    输入预设密码my-secret-pw即可完成连接。

为什么不推荐固定IP?

容器IP由Docker动态分配,当容器重启、网络重建时IP大概率会变更,依赖固定IP会导致连接稳定性问题,属于冗余且不可靠的方案。

早期Docker版本用--link实现容器间名称解析,但该特性已被官方废弃,自定义网络是当前的标准方案——它不仅支持双向DNS解析,还具备更好的隔离性和扩展性。

内容的提问来源于stack exchange,提问作者Bernhard Eischer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:43:10