Docker中运行的PostgreSQL无法通过pgAdmin连接的问题排查
问题原因与解决方案
你的Docker命令遗漏了端口映射配置,PostgreSQL容器的5432端口默认未暴露给宿主机或外部网络,导致pgAdmin无法建立连接。
解决步骤
- 停止并删除当前运行的PostgreSQL容器(若无需保留容器内数据):
docker stop my-db docker rm my-db - 重新启动容器,添加端口映射参数
-p 5432:5432,将容器内部的5432端口映射到宿主机的5432端口:docker run --name=my-db -e POSTGRES_PASSWORD=abc -e POSTGRES_USER=xyz -p 5432:5432 -d postgres - 配置pgAdmin连接时:
- 主机地址填写宿主机的IP(本地连接可填
localhost或127.0.0.1) - 端口填写
5432 - 用户名填
xyz,密码填abc
- 主机地址填写宿主机的IP(本地连接可填
如果需要长期保留数据库数据,建议同时添加数据卷挂载参数,避免容器删除后数据丢失:
docker run --name=my-db -e POSTGRES_PASSWORD=abc -e POSTGRES_USER=xyz -p 5432:5432 -v ./postgres-data:/var/lib/postgresql/data -d postgres
内容的提问来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

