Schwierigkeit: Mittel · Dauer: 45–60 Min · Ziel: Docker-Compose-Stacks reproduzierbar deployen, validieren und sicher zurückrollen.
Kurzproblem und Zielbild
Viele Compose-Setups funktionieren initial, brechen aber bei Updates oder Neustarts durch fehlende Checks und unsaubere Struktur. Ziel ist ein Ablauf, der auch unter Last stabil bleibt und im Fehlerfall schnell zurückgerollt werden kann.
Voraussetzungen
- Debian/Ubuntu Host mit Docker + Compose Plugin
- Sudo-Zugriff
- Freie Volumes/Backups vor Änderungen
Schnellstart (funktionierende Basis)
mkdir -p ~/stacks/app && cd ~/stacks/app
nano compose.yml
docker compose pull
docker compose up -d
docker compose psWas macht das? Erzeugt einen reproduzierbaren Stack-Ordner, zieht Images und startet den Stack kontrolliert.
Schritt-für-Schritt Umsetzung
1) Struktur und Variablen trennen
mkdir -p ~/stacks/app/{config,data,backup}
cp compose.yml compose.yml.bak
nano .envErklärung: Trennung reduziert Fehler bei Upgrades und vereinfacht Restore.
2) Healthchecks definieren
services:
app:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 5
3) Update-Fenster mit Validierung
docker compose pull
docker compose up -d --remove-orphans
docker compose ps
docker compose logs --tail=120
4) Rollback vorbereiten
cp compose.yml backup/compose-$(date +%F-%H%M).yml
# im Fehlerfall:
cp backup/compose-YYYY-MM-DD-HHMM.yml compose.yml
docker compose up -d
Validierung / Checks
docker compose ps
curl -fsS http://localhost:8080/health
journalctl -u docker -n 120 --no-pager
Troubleshooting
Healthcheck bleibt „unhealthy“
Ursache: Falscher Endpoint oder Startdauer zu kurz.
docker compose logs app --tail=200
# retries/timeout erhöhen
Update startet, Service nicht erreichbar
Ursache: Inkompatibles Image/Config.
docker compose down
cp backup/compose-*.yml compose.yml
docker compose up -d
Fazit
Mit sauberer Struktur, Healthchecks und Rollback-Plan werden Compose-Deployments deutlich robuster. Nächster Schritt: Monitoring für Containerzustände ergänzen.





