127.0.0.1
in Docker betekent bijna altijd "deze container". Als u uw toepassing uitvoert onder Docker Compose, is het
... zet één netwerk op voor uw app. Elke container voor een service wordt lid van het standaardnetwerk en is beide bereikbaar door andere containers op dat netwerk, en vindbaar door hen op een hostnaam die identiek is aan de containernaam.
Dat wil zeggen, in de context van deze docker-compose.yml
bestand, zijn er hostnamen redis
en web
die naar de twee containers wijzen.
Je hebt al een van de belangrijke configuratie-dingen gedaan. Wanneer uw code zegt
REDIS_HOST = os.environ.get('REDIS_HOST', '127.0.0.1')
u kunt een omgevingsvariabele instellen die de ingebouwde standaardwaarde overschrijft. Dus hier hoef je alleen maar een omgevingsvariabele-instelling toe te voegen aan je docker-compose.yml
bestand:
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