#django #postgresql #docker-compose
Вопрос:
Мое приложение django не докеризовано, но я запускаю postgres внутри контейнера docker с помощью docker-compose.yml
скрипта. После docker-compose up
того, как я смогу подключиться к бд с помощью dbeaver, но не с помощью приложения django. Каждый раз, когда я получаю сообщение об ошибке:
django.db.utils.OperationalError: could not translate host name "db" to address:
Temporary failure in name resolution
Файл docker-compose.yml
:
version: "3.9"
services:
db:
image: postgres:13
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
- POSTGRES_USER="postgres"
- POSTGRES_PASSWORD="postgres"
- POSTGRES_DB="postgres"
ports:
- 5432:5432
volumes:
postgres_data
Файл проекта Django config/settings.py
:
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': env.str("DB_NAME"),
'USER': env.str("DB_USER"),
'PASSWORD': env.str("DB_PASS"),
'HOST': env.str("DB_HOST"),
'PORT': env.decimal("DB_PORT")
}
}
Ответ №1:
Это была какая-то ошибка pipenv. Когда я перезапустил терминал и запустил pipenv shell
его снова, а затем python manage.py runserver
все работало просто отлично