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

关于docker-compose容器间连接URL格式的技术咨询

Docker Compose 数据库连接URL格式说明

你的理解有偏差,正确的格式并不是image_name://service_name:container_port,拆解下正确的结构细节:

  • 开头的postgres://是数据库的标准协议名,和镜像名称无关。不同数据库对应不同的协议前缀:
    • PostgreSQL:postgres://
    • MySQL:mysql://
    • MongoDB:mongodb://
      哪怕你使用了自定义构建的镜像,协议部分也必须对应数据库的标准协议,而非镜像名。
  • 中间的db是Docker Compose配置文件中services节点下定义的服务名称,这部分你的理解是对的——Compose会自动创建内部DNS,通过服务名就能直接解析到对应容器的IP地址。
  • 最后的5432是容器内部的服务监听端口,也就是数据库本身在容器里运行时使用的端口,和docker-compose.yml里ports字段映射的宿主机端口没有关系。

举个实际例子:如果你的Compose里定义了一个叫mysql-service的MySQL服务,那正确的连接URL应该是mysql://mysql-service:3306,而非用镜像名mysql:8.0开头。

内容的提问来源于stack exchange,提问作者Eduardo Romero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:22:03