127.0.0.1
bedeutet in Docker fast immer "dieser Container". Wenn Sie Ihre Anwendung unter Docker Compose ausführen, ist es
... richtet ein einziges Netzwerk für Ihre App ein. Jeder Container für einen Dienst tritt dem Standardnetzwerk bei und ist beide erreichbar durch andere Container in diesem Netzwerk und erkennbar von ihnen unter einem Hostnamen, der mit dem Containernamen identisch ist.
Das heißt, im Kontext dieser docker-compose.yml
Datei gibt es Hostnamen redis
und web
diesen Punkt auf die beiden Container.
Sie haben bereits eine der wichtigen Konfigurationsaufgaben erledigt. Wenn Ihr Code sagt
REDIS_HOST = os.environ.get('REDIS_HOST', '127.0.0.1')
Sie können eine Umgebungsvariable festlegen, die den integrierten Standardwert überschreibt. Hier müssen Sie also nur eine Umgebungsvariableneinstellung zu Ihrer docker-compose.yml
hinzufügen Datei:
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