Lorsque vous essayez de créer un environnement de développement Django avec docker en regardant Quickstart: Compose et Django,
docker-compose up` `` J'ai eu l'erreur suivante.
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
L'erreur a maintenant disparu.
Pour utiliser postgres dans Docker, vous devez configurer des informations telles que l'utilisateur de la base de données, le mot de passe et le nom de base de données. Cela peut être fait en définissant les variables d'environnement du conteneur dans environment
dans le
dokcer-compose.yml '' modifié.
Recommended Posts