Schwierigkeit: Mittel · Dauer: 35–65 Min · Ziel: Docker Logs unter Kontrolle: Rotation, Retention und schnelle Analyse
Kurzproblem und Zielbild
In vielen Homelabs funktioniert die Erstinstallation, aber der Dauerbetrieb wird schnell unübersichtlich. Dieses Tutorial zeigt einen reproduzierbaren Ablauf für Docker Logs unter Kontrolle mit Fokus auf Stabilität, klare Checks und einfache Fehlerbehebung.
Ziel ist ein Setup, das nicht nur heute läuft, sondern auch nach Updates und Änderungen beherrschbar bleibt.
Voraussetzungen
- Aktuelles Debian/Ubuntu oder kompatible Appliance
- Administrative Rechte und Wartungsfenster
- Backup- oder Snapshot-Möglichkeit vor Änderungen
Schnellstart (funktionierende Basis)
# Basisprüfung
hostnamectl
ip a
# Dienste prüfen
systemctl --failed
# Logs kurz prüfen
journalctl -p 3 -xb --no-pager | tail -n 30Was macht das? Du prüfst erst den Grundzustand und vermeidest, dass Altfehler in neue Änderungen hineinwirken.
Schritt-für-Schritt Umsetzung
1) Ausgangszustand dokumentieren
date -Iseconds
uname -a
# versions/relevante configs sichernErklärung: Mit einer kurzen Bestandsaufnahme lassen sich spätere Fehler schneller eingrenzen.
2) Kernkonfiguration sauber setzen
sudo mkdir -p /etc/docker
cat <<'EOF' | sudo tee /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {"max-size": "10m", "max-file": "5"}
}
EOF
sudo systemctl restart docker
docker info | grep -E "Logging Driver|Docker Root Dir"Erklärung: Änderungen gezielt umsetzen, danach direkt den Dienst-/Funktionszustand prüfen.
3) Dienst kontrolliert neu laden
sudo systemctl daemon-reload
sudo systemctl restart
sudo systemctl status --no-pager
4) Betriebsgrenzen testen
docker ps --format "table {{.Names}} {{.Status}}"
docker inspect -f "{{.Name}} -> {{.HostConfig.LogConfig.Type}} {{json .HostConfig.LogConfig.Config}}" $(docker ps -q)
sudo du -sh /var/lib/docker/containers/*/*-json.log | sort -h | tail -n 10Validierung / Checks
docker info | grep "Logging Driver"
docker system df
systemctl status docker --no-pagerTroubleshooting
Konfiguration wird nicht übernommen
Ursache: Syntax-, Reload- oder Parameterfehler.
docker inspect -f "{{.Name}} {{json .HostConfig.LogConfig}}" CONTAINER
docker compose up -d --force-recreateDienst läuft, Funktion aber fehlerhaft
Ursache: Abhängigkeiten, Routing oder Berechtigungen sind inkonsistent.
docker system df
du -sh /var/lib/docker/volumes/* | sort -h | tail -n 10
journalctl --disk-usageFazit
Mit einem klaren Ablauf für Docker Logs unter Kontrolle reduzierst du Ausfälle und erhöhst die Wartbarkeit deutlich. Der wichtigste Hebel ist die Kombination aus kleiner Änderung, sofortigem Check und dokumentiertem Ergebnis.
Nächster Schritt: den Ablauf als monatliche Betriebsroutine einplanen und regelmäßig gegen echte Störfälle testen.

