Локально настраиваю проект для работы с docker и pipenv. В settings.py настроек БД изменил
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432
}
}
и добавлении в yml файл секции db
docker-compose.yml
version: '3.7'
services:
web:
build: .
command: python /profi/manage.py runserver 0.0.0.0:8000
environment:
- SECRET_KEY=dy)zvq+sf07^^456t$$6+mv*tj6#5iwyo896-z!v=h^njl9^&@q
- DEBUG=1
volumes:
- .:/profi
ports:
- 8000:8000
depends_on:
- db
db:
image: postgres:11
volumes:
- postgres_data:/var/lib/posgresql/data/
volumes:
postgres_data:
Если запускаю сервер через
docker-compose up
то все стартует, только каждый раз надо создавать админа. БД не запоминает данные. Что то не доделал в volumes ?
Но основной вопрос - когда запускаю сервер не испльзуя docker, а через
pipenv shell
python manage.py runserver
то получаю ошибку
django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
Что то в docker-compose.yml не правильно? Подскажите пожалуйста что поправить.