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

Spring Boot连接Docker中Postgres数据库容器失败求助

问题排查:Spring Boot + Docker Postgres 连接失败(The connection attempt failed. db)

可能的原因及解决办法

1. 端口映射未配置或配置错误

Docker容器内的Postgres默认使用5432端口,若docker-compose.yml里没把这个端口映射到宿主机,宿主机上的DBeaver无法直接访问容器内的数据库。

  • 检查docker-compose.yml的Postgres服务块,确保有正确的端口映射:
    ports:
      - "5432:5432"
    
    修改后执行docker-compose down && docker-compose up -d重启容器。

2. DBeaver连接参数错误

  • 主机地址:不要用容器名db(仅Docker内部网络可用),宿主机访问需填localhost或宿主机IP。
  • 端口:如果映射了非默认的宿主机端口(比如5433:5432),DBeaver要填对应的宿主机端口。
  • 用户名/密码/数据库名:必须和docker-compose.yml中Postgres的环境变量(POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB)完全一致。

3. Postgres容器未完成初始化

Postgres容器启动时需要初始化数据库,若在服务就绪前就尝试连接,会出现连接失败。

  • 查看Postgres容器日志,确认出现database system is ready to accept connections后再用DBeaver连接。

4. 防火墙或网络拦截

宿主机的防火墙可能拦截了Postgres端口的访问,检查防火墙规则,确保允许宿主机访问映射的Postgres端口。

5. Docker网络配置问题

若自定义了Docker网络,要确保Spring容器和Postgres容器在同一网络中;同时确认宿主机能正常访问该网络的端口。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:32:11