127.0.0.1
dans Docker signifie presque toujours "ce conteneur". Si vous exécutez votre application sous Docker Compose, il
... configure un réseau unique pour votre application. Chaque conteneur d'un service rejoint le réseau par défaut et est à la fois accessible par d'autres conteneurs sur ce réseau, et découvert par eux à un nom d'hôte identique au nom du conteneur.
Autrement dit, dans le contexte de ce docker-compose.yml
fichier, il y a des noms d'hôtes redis
et web
ce point aux deux conteneurs.
Vous avez déjà fait l'une des choses importantes de configuration. Quand votre code dit
REDIS_HOST = os.environ.get('REDIS_HOST', '127.0.0.1')
vous pouvez définir une variable d'environnement qui remplace la valeur par défaut intégrée. Donc ici, il vous suffit d'ajouter un paramètre de variable d'environnement à votre docker-compose.yml
fichier :
version: '3'
services:
redis:
image: "redis:alpine"
web:
build: . # current directory
environment:
- REDIS_HOST=redis
ports:
- "8000:8000"
# application source code and default command are built into the image