Postgres 和 Docker Compose;密码验证失败,角色 'postgres' 不存在。无法从 pgAdmin4 连接

Postgres and Docker Compose; password authentication fails and role 'postgres' does not exist. Cannot connect from pgAdmin4

我有一个 docker-compose 可以如下所示调出 psql 数据库,目前我正在尝试使用 pgAdmin4 连接到它(不在 docker 容器中)并且能够查看它。我一直无法通过数据库进行身份验证,我不明白为什么。

docker-撰写

version: "3"

services:
  # nginx and server also have an override, but not important for this q.
  nginx:
    ports:
      - 1234:80
      - 1235:443
  server:
    build: ./server
    ports:
      - 3001:3001 # app server port
      - 9230:9230 # debugging port
    env_file: .env
    command: yarn dev
    volumes:
      # Mirror local code but not node_modules
      - /server/node_modules/
      - ./server:/server
  
  database:
    container_name: column-db
    image: 'postgres:latest'
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: postgres # The PostgreSQL user (useful to connect to the database)
      POSTGRES_PASSWORD: root # The PostgreSQL password (useful to connect to the database)
      POSTGRES_DB: postgres # The PostgreSQL default database (automatically created at first launch)
    volumes:
      - ./db-data/:/var/lib/postgresql/data/

networks:
  app-network:
    driver: bridge

我做了 docker-compose up 然后检查日志,它说它已准备好连接。我转到 pgAdmin 并输入以下内容:

密码为 root。然后我得到这个错误:

FATAL:  password authentication failed for user "postgres"

我查看了 docker 日志,我看到了

DETAIL:  Role "postgres" does not exist.

我不确定我做错了什么,根据文档,应该使用这些规范创建超级用户。我错过了什么吗?一个小时以来,我一直在努力反对这个问题。感谢您的帮助!

@jjanes 在评论中解决了这个问题,我使用了映射卷并且从未正确设置数据库。删除卷,我们就可以开始了。