【发布时间】:2020-05-29 15:09:43
【问题描述】:
我尝试连接我的 Spring Boot 应用程序和 Docker 容器中的 PostgreSQL。 当我启动 docker-compose 时,docker 使用我在此文件中设置的用户创建一个容器和数据库。 到这里为止,一切都很好。
但是当我尝试连接我的 spring 应用程序和这个容器时,我得到了这个错误:
org.postgresql.util.PSQLException: FATAL: authentification par mot de passe échouée pour l'utilisateur « postgres » (pgjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf)
消息是法语的,一般情况下,它无法使用该用户 postgres 连接到我的数据库。
我的 docker-compose.yml
version: '3.5'
services:
postgres:
container_name: postgres_container
image: postgres
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
POSTGRES_DB: ${POSTGRES_DB:-dbname}
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5432:5432"
networks:
- postgres
restart: unless-stopped
还有我的 application.property
spring.datasource.url=jdbc:postgresql://localhost:5432/dbname
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.username=postgres
spring.datasource.password=password
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
请问有人知道这个问题吗?
【问题讨论】:
标签: postgresql spring-boot docker