[英]django OperationalError when trying to migrate with docker
django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
That is the error I get when running docker-compose exec web python manage.py migrate my docker-compose.yml contains:
version: '3.8'
services:
web:
build: .
command: python /code/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
db:
image: postgres:11
这就是我在settings.py中为 DATABASE 放置的内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432
}
}
我试过运行docker-compose up -d --build然后docker-compose exec web Z23EEEB4347BDD26BFC6B7EE9A3B755 管理迁移但不起作用。
您需要为您的db
服务添加一个环境:
services:
# ...
db:
# ...
environment:
POSTGRES_PASSWORD: postgres
因为POSTGRES_PASSWORD
是运行图像所需的唯一非可选环境变量,如文档中所述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.