Docker Django Postgres FATAL: не удалось выполнить аутентификацию пароля для пользователя "postgres

Я докеризирую свое приложение Django. Мои конфигурации следующие:

csgo.env

POSTGRES_NAME='postgres'
POSTGRES_USER='postgres'
POSTGRES_PASSWORD='postgres'
POSTGRES_HOST='postgres_db'
POSTGRES_PORT='5432'

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.getenv('POSTGRES_NAME', 'postgres'),
        'USER': os.getenv('POSTGRES_USER', 'postgres'),
        'PASSWORD': os.getenv('POSTGRES_PASSWORD', 'postgres'),
        'HOST': os.getenv('POSTGRES_HOST', 'postgres_db'),
        'PORT': os.getenv('POSTGRES_PORT', '5432'),
    }
}

docker-compose.yml

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    env_file:
      - csgo.env
    ports:
      - '8000:8000'
    volumes:
      - .:/code
    depends_on:
      - postgres_db

  postgres_db:
    image: postgres:13
    restart: always
    ports:
      - '5432:5432'
    env_file:
      - csgo.env
    environment:
      - POSTGRES_NAME='postgres'
      - POSTGRES_USER='postgres'
      - POSTGRES_PASSWORD='postgres'
      - POSTGRES_HOST='postgres_db'
      - POSTGRES_PORT='5432'

Когда я запускаю docker-compose up, я получаю типичную ошибку auth django.db.utils.OperationalError: FATAL: password authentication failed for user "postgres", и меня это очень напрягает. Я уже целый день ищу опечатку, но так и не нашел ее. Пожалуйста, помогите мне найти недостающий кусок кода или опечатку!

Примечание: Я знаю, что подобные вопросы переполнены в Интернете. Мой пост о том, как найти опечатку или механическую ошибку, допущенную мной. Спасибо за понимание и за то, что не посчитали пост дубликатом!

вы должны установить имя базы данных в переменных окружения:

POSTGRES_DB='postgres'
Вернуться на верх