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

Spring Boot连接PostgreSQL容器时密码认证失败问题排查

问题排查与解决步骤
  • 容器内配置修改不持久:直接进入PostgreSQL容器修改pg_hba.conf,容器重启后会恢复默认配置。正确做法是在Docker Compose中挂载宿主机的自定义pg_hba.conf到容器内部默认路径/var/lib/postgresql/data/pg_hba.conf,或者通过环境变量POSTGRES_HOST_AUTH_METHOD=trust全局设置信任认证(注意:该方式仅适合测试环境,生产环境禁用)。

  • 确认PostgreSQL监听地址:检查容器内postgresql.conf中的listen_addresses是否设为*,否则容器仅监听本地回环地址,本地Spring Boot无法建立连接。可在Docker Compose的PostgreSQL服务中添加命令参数强制修改:

    command: ["postgres", "-c", "listen_addresses=*"]
    
  • 验证用户创建完整性:确保用户ibrahim创建时正确配置了密码与登录权限,执行以下SQL确认:

    CREATE USER ibrahim WITH PASSWORD 'password' LOGIN;
    

    同时需确认该用户拥有目标数据库的访问权限。

  • 核对Spring Boot连接配置:检查application.properties中的参数是否准确:

    spring.datasource.url=jdbc:postgresql://localhost:5432/your_database_name
    spring.datasource.username=ibrahim
    spring.datasource.password=password
    spring.datasource.driver-class-name=org.postgresql.Driver
    

    注意替换your_database_name为实际创建的数据库名,且端口号需与Docker Compose中暴露的端口一致(默认5432)。

  • 检查Docker端口映射:确保Docker Compose的PostgreSQL服务配置了端口映射,否则本地无法访问容器内的服务:

    ports:
      - "5432:5432"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 07:37:08