角色“postgres”已经存在&角色“postgres”不同时存在

问题描述 投票:0回答:1

我正在尝试在 docker compose 文件中启动我的 spring boot 微服务项目。

提供的用户:postgres
提供的密码:密码

当我尝试将服务与 postgres db 连接时,控制台显示:

2023-05-07 10:30:48 2023-05-07T07:30:48.725Z  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-05-07 10:30:49 2023-05-07T07:30:49.863Z ERROR 1 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.
2023-05-07 10:30:49 
2023-05-07 10:30:49 org.postgresql.util.PSQLException: FATAL: password authentication failed for user "postgres"
...

但我完全确定通过的凭据是正确的。

与此同时,我尝试连接的 docker 容器说的是

2023-05-07 10:30:51 2023-05-07 07:30:51.287 UTC [41] DETAIL:  Role "postgres" does not exist.
2023-05-07 10:30:51     Connection matched pg_hba.conf line 100: "host all all all scram-sha-256"

如果我尝试创建名为“postgres”的用户,postgresql 控制台会告诉我它已经存在;

docker-compose.yml 文件

  postgres-order:
    container_name: postgres-order
    image: postgres
    environment:
      POSTGRES_DB: order_service
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      PGDATA: /data/postgres
    volumes:
      - ./postgres-order:/data/postgres
    ports:
      - "5431:5431"
    command: -p 5431
    expose:
      - "5431"
    restart: always

  
  order-service:
    container_name: order-service
    image: registry.hub.docker.com/jirafus400/order-service:latest
    environment:
      - SPRING_PROFILES_ACTIVE=docker
      - SPRING_DATASOURCE_URL=jdbc:postgresql://postgres-order:5431/order_service
    depends_on:
      - postgres-order
      - broker
      - eureka-server
      - api-gateway

application-docker.properties 文件

spring.datasource.url=jdbc:postgresql://postgres-order:5431/order_service
spring.datasource.username=postgres
spring.datasource.password=password
spring.datasource.driver-class-name=org.postgresql.Driver
server.port=8080
eureka.client.serviceUrl.defaultZone=http://eureka:password@eureka-server:8761/eureka
spring.kafka.bootstrap-servers=broker:29092
postgresql docker-compose microservices spring-cloud
1个回答
0
投票

解决了。问题是卷是使用不同的 postgres 凭据创建的。在我更改凭据后,它们不匹配。刚刚删除卷,一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.