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

Docker容器内pgAdmin4无法连接PostgreSQL服务器求助

解决pgAdmin4连接PostgreSQL服务器被拒绝的问题

错误信息

无法连接到服务器:连接到主机“db”(172.18.0.3)的5432端口失败:连接被拒绝。请问服务器是否在该主机上运行并接受TCP/IP连接?

错误截图

错误截图1
错误截图2
错误截图3

排查与解决步骤

  • 确认PostgreSQL服务状态:登录主机db(172.18.0.3),执行systemctl status postgresql(systemd系统)或pg_ctl status,验证服务是否正常运行。若未启动,执行systemctl start postgresql启动服务。
  • 检查防火墙配置:确认主机db的防火墙开放5432端口TCP连接:
    • Ubuntu/Debian:执行ufw status查看,未开放则运行ufw allow 5432/tcp
    • CentOS/RHEL:执行firewall-cmd --list-ports查看,未开放则运行firewall-cmd --add-port=5432/tcp --permanent && firewall-cmd --reload
  • 调整PostgreSQL网络配置:
    1. 编辑postgresql.conf(路径通常为/var/lib/postgresql/<版本>/main/或/etc/postgresql/<版本>/main/),设置listen_addresses = '*',保存后重启服务。
    2. 编辑pg_hba.conf,添加允许pgAdmin所在IP访问的规则,例如:host all all <pgAdmin主机IP>/32 scram-sha-256,保存后重启PostgreSQL服务。
  • Docker环境额外检查:若db是Docker容器:
    • 执行docker ps确认容器处于运行状态
    • 检查pgAdmin与db容器是否在同一Docker网络:执行docker inspect db和docker inspect pgadmin对比Networks字段,不同则运行docker network connect <目标网络名> pgadmin
  • 测试端口连通性:在pgAdmin所在机器执行nc -zv 172.18.0.3 5432或telnet 172.18.0.3 5432,验证端口是否可连通,不通则优先排查网络或防火墙问题。

内容的提问来源于stack exchange,提问作者Wruce Bayne

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:50:25