- Übersichtlichkeit
- Versionierung
- Reproduzierbarkeit
- Einfachheit
mit Hilfe einer docker-compose.yml Datei
- Unterteilung in Services (Container)
- jeder Service enthält Konfigurationen wie Portmapping, Volume-Bindings, Netzwerk, Env-Variablen etc.
- Netzwerke und Docker Volumes und weiteres können definiert werden
Beispiel:
---
services:
web:
build: .
ports:
- "${APP_PORT}:5000"
environment:
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
redis:
image: redis:alpine
depends_on:
db:
condition: service_healthy
healthcheck:
test: ...
timeout: 5s
retries: 20
environments:
MY_VAR: ${MY_VAR_FROM_ENV}
DIRECT: asdfjk
Aus Sicherheitsgründen, da in Umgebungsvariablen häufig sensible Angaben wie Passwörter oder Zugangstoken gespeichert werden.
Stoppt und entfernt alle Container und Netzwerk, welche von <docker compose up> erstellt wurden.