Докеризация Django с PostgreSQL. FATAL: аутентификация пароля для пользователя "postgres" не удалась
Я пытаюсь докеризировать мое приложение Django с его базой данных PostgreSQL.
У меня есть следующие файлы конфигурации: docker-compose.yml
version: '3'
services:
web:
container_name: web
build:
context: .
dockerfile: Dockerfile
env_file:
- csgo.env
environment:
- POSTGRES_NAME=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- '8000:8000'
volumes:
- .:/code
depends_on:
- postgres_db
postgres_db:
container_name: postgres_db
image: postgres:13
env_file:
- csgo.env
environment:
- POSTGRES_DB='postgres'
- POSTGRES_NAME='postgres'
- POSTGRES_USER='postgres'
- POSTGRES_PASSWORD='postgres'
- POSTGRES_HOST='postgres_db'
- POSTGRES_PORT='5432'
ports:
- '5432:5432'
csgo.env
POSTGRES_DB='postgres'
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': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'postgres_db',
'PORT': '5432',
}
}
Я получаю наиболее типичную ошибку:
web | File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 122, in connect
web | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
web | django.db.utils.OperationalError: FATAL: password authentication failed for user "postgres"
web |
В чем проблема? Что я пропустил? Почему возникает эта ошибка, если все работает нормально?
Примечание: Я знаю, что этот вопрос популярен в Интернете. Но ни у кого из них нет ответа на мой вопрос. Потому что мой вопрос, вероятно, связан с ошибкой, которую я совершил (или с типом) и которую я не могу понять уже целый день. Пожалуйста, помогите!