127.0.0.1
i Docker betyder nästan alltid "denna behållare". Om du kör din applikation under Docker Compose, är det
... ställer in ett enda nätverk för din app. Varje behållare för en tjänst går med i standardnätverket och är båda nåbara av andra behållare på det nätverket och upptäckbara av dem på ett värdnamn som är identiskt med behållarens namn.
Det vill säga inom ramen för denna docker-compose.yml
fil, det finns värdnamn redis
och web
som pekar på de två behållarna.
Du har redan gjort en av de viktiga konfigurationssakerna. När din kod säger
REDIS_HOST = os.environ.get('REDIS_HOST', '127.0.0.1')
du kan ställa in en miljövariabel som åsidosätter det inbyggda standardvärdet. Så här behöver du bara lägga till en miljövariabelinställning till din docker-compose.yml
fil:
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