Wenn Sie versuchen, eine Django-Entwicklungsumgebung mit Docker zu erstellen, während Sie sich Quickstart: Compose and Django ansehen, klicken Sie auf "Docker-Compose up" Ich habe den folgenden Fehler erhalten.
django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
setting.py
setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
Docker-compose.yml
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres
docker-compose.yml
version: '3'
services:
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres
ports:
- "5432"
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
Der Fehler ist jetzt weg.
Um Postgres in Docker verwenden zu können, müssen Sie Informationen wie Datenbankbenutzer, Kennwort und Datenbankname konfigurieren. Dies kann durch Setzen der Umgebungsvariablen des Containers in der `Umgebung``` in der modifizierten`
dokcer-compose.yml``` erfolgen.
Recommended Posts