HOME LAB · SELFHOSTING · NETZWERK

Artikel-Info

Kurzfassung

Schwierigkeit: Mittel · Dauer: 35–65 Min · Ziel: Docker Logs unter Kontrolle: Rotation, Retention und schnelle…

Kategorie

, ,

Tags

Veröffentlicht

Zuletzt aktualisiert

Docker Logs unter Kontrolle: Rotation, Retention und schnelle Analyse

Docker Logs unter Kontrolle: Rotation, Retention und schnelle Analyse – Featured Image v9

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 30

Was 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 sichern

Erklä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 10

Validierung / Checks

docker info | grep "Logging Driver"
docker system df
systemctl status docker --no-pager

Troubleshooting

Konfiguration wird nicht übernommen

Ursache: Syntax-, Reload- oder Parameterfehler.

docker inspect -f "{{.Name}} {{json .HostConfig.LogConfig}}" CONTAINER
docker compose up -d --force-recreate

Dienst 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-usage

Fazit

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.

Quellen

Teilen: X LinkedIn Reddit WhatsApp Telegram Mastodon