【问题标题】:Postgres in docker returns 'password authentication failed (..) roles "username" does not exist'docker中的Postgres返回'密码身份验证失败(..)角色“用户名”不存在'
【发布时间】:2020-12-15 15:53:05
【问题描述】:

我正在尝试做的事情:通过常见的 docker-compose 文件使用 FastAPI 应用程序连接到 postgres db。在我更改默认的 postgres 配置之前,它一直有效。

我知道这是一个常见问题,并且我尝试按照迄今为止发现的每个提示进行操作。 我仔细检查了 evn 变量的拼写。到目前为止,我确实多次删除了卷、图像、网络并从头开始重建它。

这里是 docker-compose 的相关部分

version: "3.4"

networks:
  internal:
    external: false

services:

  db:
    image: postgres:11
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=test_user
      - POSTGRES_PASSWORD=test_pass
      - POSTGRES_DB=test_db
    networks:
      - internal

  my_app:
    depends_on:
      - db
    networks:
      - internal

这是我在代码中将 db 呈现给应用程序的方式。

DATABASE_URL = "postgres://test_user:test_pass@db:5432/test_db"

我继续收到“用户“test_user”的密码验证失败/角色“test_user”不存在。 /连接匹配pg_hba.conf第95行:“host all all all md5”

我错过了什么?

【问题讨论】:

    标签: postgresql docker docker-compose


    【解决方案1】:

    对于那些发现它的人来说,问题实际上在于我如何尝试提供环境变量。

        environment:
          - POSTGRES_USER: test_user
          - POSTGRES_PASSWORD: test_pass
          - POSTGRES_DB: test_db
    

    作品

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 2022-01-20
      • 2020-10-24
      • 2019-09-04
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      相关资源
      最近更新 更多