Роль Docker django postgres не существует

У меня возникла ошибка, когда docker постоянно говорит мне, что нет пользователя postgres. После долгих поисков я понял, что добавление

environment:
      - POSTGRES_DB=iku
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=password

Это создает пользователя admin, а не postgres по умолчанию. Вот ошибка, которую я получаю

src-postgres-1  | 2022-08-26 18:03:00.136 UTC [207] DETAIL:  Role "postgres" does not exist.
src-postgres-1  |   Connection matched pg_hba.conf line 100: "host all all all scram-sha-256"

Я не сталкиваюсь с этой ошибкой, когда пересылаю порт на свою машину. То есть после добавления этого

ports:
      - "5432:5432"

Если я удаляю вышеприведенный код, все работает нормально. Но я не могу подключить PGAdmin к Postgres, запущенному на docker, так как порт не открыт для внешнего доступа. Этот порт говорит мне, что роль postgres не существует. Любая помощь будет принята с благодарностью! Вот мой файл docker-compose

version: "3.9"

services:
  postgres:
    image: postgres:14.5
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=custom
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=password
    ports:
      - "5432:5432"
  redis:
    restart: always
    image: redis:latest
    ports:
      - "6379:6379"
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - postgres
      - redis

Я подумал, что у меня может быть запущена локальная служба postgres, я проверил ее. На моей машине Ubuntu не запущен локальный postgres. Я даже удалил postgres, чтобы быть уверенным.

Вернуться на верх