Docker-Umgebungsvariablen-Grundlagen
Verständnis von Docker-Umgebungsvariablen
Docker-Umgebungsvariablen sind entscheidende Konfigurationsmechanismen, die dynamische Laufzeitseinstellungen für Container ermöglichen. Sie bieten eine flexible Möglichkeit, Konfigurationen zu injizieren und das Verhalten von Containern zu steuern, ohne das Container-Image zu ändern.
graph LR
A[Docker-Image] --> B[Umgebungsvariablen]
B --> C[Container-Laufzeitkonfiguration]
Wichtige Umgebungsvariablentypen
Typ |
Beschreibung |
Beispiel |
Statische Variablen |
Vordefiniert beim Bildaufbau |
ENV DATABASE_HOST=localhost |
Laufzeitvariablen |
Während des Containerstarts injiziert |
docker run -e DB_PASSWORD=secret |
Standardvariablen |
Im Dockerfile voreingestellt |
ENV APP_PORT=8080 |
Konfigurationsmethoden
Entwickler können Docker-Umgebungsvariablen über verschiedene Ansätze definieren:
- Dockerfile-Konfiguration
FROM ubuntu:22.04
ENV APP_NAME=myservice
ENV DEBUG_MODE=false
- Kommandozeileninjektion
docker run -e DATABASE_URL=postgres://user:pass@localhost/db myimage
- Umgebungsdateien
docker run --env-file ./config.env myimage
Beispiel für die Laufzeitkonfiguration
## Erstellen einer Umgebungskonfigurationsdatei
echo "DB_HOST=database.example.com" > app.env
echo "LOG_LEVEL=debug" >> app.env
## Starten des Containers mit Umgebungsdatei
docker run --env-file app.env ubuntu:22.04
Dieser Ansatz zeigt, wie Docker-Umgebungsvariablen eine flexible, sichere und dynamische Containerkonfiguration ermöglichen, ohne sensible Informationen direkt in die Images zu codieren.