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

Windows本地如何从Docker网络外连接容器化PostgreSQL数据库

问题解答

方案1:直接使用容器内网IP

你通过docker inspect命令获取到的172.0.0.2就是tma_pg_db_container容器的内部IP地址,直接填入<IP_ADDRESS>位置即可正常连接容器内的数据库,完整命令示例:

psql postgresql://postgres:<PASSWORD>@172.0.0.2:5432/tma_pg_db

注意:

  1. 如果你要连接的是新建的名为pg_container的容器,需要将docker inspect命令中的容器名替换为pg_container后重新查询IP,避免拿到错误的旧容器IP
  2. Docker容器的内网IP在容器重启后会自动变更,如果需要长期固定访问地址,推荐使用方案2。

方案2:修改端口映射避免端口冲突

你当前本地已经有原生PostgreSQL占用了localhost的5432端口,因此原有-p 5432:5432的端口映射实际会触发端口占用报错无法生效,你可以调整启动命令映射到宿主机的其他未被占用的端口,例如5433:

docker run -d -p 5433:5432 --rm --name pg_container -v C:\pgdata:/var/lib/postgresql/data --env-file ./database.env postgres:latest

调整后你就可以通过localhost+新端口的方式访问容器内的数据库,无需记忆容器内网IP,连接命令如下:

psql postgresql://postgres:<PASSWORD>@localhost:5433/tma_pg_db

内容的提问来源于stack exchange,提问作者Amin Ba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:45:07