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

Docker容器连接另一容器中Postgres失败的问题求助

问题原因
  • 容器内的localhost指向容器自身,而非宿主机,因此使用localhost:5431无法连接到宿主机上映射的Postgres端口。
  • 虽然你用了--link关联容器,但仍错误使用了宿主机的映射端口,容器间通信应直接使用Postgres容器内部的端口。
解决方法
  • 修正POSTGRES_URL:将连接地址中的localhost:5431替换为Postgres容器名称upbeat_leakey,端口改为容器内部的5432,最终地址为:
    postgres://postgres:83355806@upbeat_leakey:5432/test
    
  • 重新启动应用容器:执行以下命令:
    sudo docker run --env POSTGRES_URL=postgres://postgres:83355806@upbeat_leakey:5432/test --link upbeat_leakey -p 3000:3000 my-app:dev
    
补充说明
  • 通过--link关联容器后,Docker会自动在应用容器的hosts文件中添加Postgres容器的域名映射,直接使用容器名称即可访问Postgres服务。
  • 宿主机的-p 5431:5432端口映射仅用于宿主机或外部设备访问Postgres,容器间通信无需经过宿主机端口,直接使用容器内部的5432端口即可。

内容的提问来源于stack exchange,提问作者Shanthan Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:16:14