← Zurück zur Übersicht Nie wieder 'docker logs -f': Echtzeit-Container-Monitoring mit Dozzle

Nie wieder 'docker logs -f': Echtzeit-Container-Monitoring mit Dozzle

[WERBUNG: CONTENT OBEN]

Das Terminal-Chaos bändigen

Wenn du professionell mit Docker arbeitest, kennst du das Szenario: Deine App besteht aus einer API, einer Datenbank, einem Redis-Cache und drei Worker-Services. Um zu sehen, was gerade passiert, jonglierst du mit fünf Terminal-Tabs und tippst ununterbrochen docker logs -f <container_name>.

Das ist nicht nur anstrengend, sondern auch fehleranfällig. Wer hat im flimmernden Text-Dschungel schon den Überblick?

Heute zeigen wir dir Dozzle, den vielleicht leichtesten und nützlichsten Log-Viewer für Docker, den es aktuell gibt.

Was ist Dozzle?

Dozzle ist eine extrem schlanke Web-App, die deine Docker-Logs in Echtzeit in den Browser streamt.

  • Keine Datenbank nötig: Dozzle liest direkt vom Docker-Socket.
  • Rasend schnell: Keine Verzögerung beim Streaming.
  • Split-Screen: Überwache mehrere Container gleichzeitig nebeneinander.
  • Volltextsuche: Finde Fehler (ERROR) in Millisekunden.

Hands-On: Dein Log-Dashboard in 2 Minuten

Wir bauen jetzt eine kleine Labor-Umgebung, um Dozzle in Aktion zu sehen. Wir erstellen eine App, die ständig Logs produziert, und lassen Dozzle daneben laufen.

Schritt 1: Das Labor vorbereiten

Wie immer gilt: Wir arbeiten sauber. Erstelle einen neuen Ordner für dieses Experiment:

mkdir dozzle-experiment && cd dozzle-experiment

Schritt 2: Die Infrastruktur definieren

Wir nutzen eine docker-compose.yaml, um Dozzle und einen "Log-Generator" (eine einfache Node.js App) zu starten.

dozzle-experiment/docker-compose.yaml:

services:
  # Dozzle: Der Log-Viewer
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Zugriff auf Docker-Logs
    ports:
      - 8080:8080
    restart: unless-stopped

  # Unser Test-Service: Produziert jede Sekunde eine Log-Zeile
  log-generator:
    container_name: log-generator
    image: node:20-alpine
    command: >
      node -e "setInterval(() => console.log('Log Event [' + new Date().toISOString() + ']: Alles im grünen Bereich!'), 1000)"
    restart: always

Schritt 3: Starten

Feuer frei! Starte die Container mit folgendem Befehl:

docker compose up -d

Schritt 4: Das Dashboard genießen

Öffne jetzt deinen Browser unter: http://localhost:8080

Du siehst sofort das Dashboard. Klicke links auf den Container log-generator.

⚠️ 📸 SCREENSHOT ANFRAGE: Hier einen Screenshot vom Dozzle Web-Interface einfügen, der den laufenden Log-Stream des log-generator zeigt.


Pro-Tipps für den Produktivbetrieb

1. Sicherheit (Passwortschutz)

Im Heimnetzwerk ist Dozzle meist offen okay, aber auf einem echten Server solltest du es schützen. Ab Version 6 unterstützt Dozzle einfache Authentifizierung:

    environment:
      - DOZZLE_USERNAME=admin
      - DOZZLE_PASSWORD=dein_sicheres_passwort

2. Nur bestimmte Container anzeigen

Wenn du hunderte Container hast, kannst du Dozzle filtern, indem du Labels nutzt oder die Ansicht einschränkst. Standardmäßig zeigt es aber alles an, was auf dem Host läuft.

3. Ressourcen-Verbrauch

Dozzle verbraucht fast kein RAM (meist unter 20MB) und keine CPU, solange du die Seite nicht im Browser offen hast. Es ist also völlig unbedenklich, es dauerhaft im Hintergrund laufen zu lassen.


Fazit

Dozzle ist eines dieser Tools, bei denen man sich fragt, wie man vorher ohne sie ausgekommen ist. Es ersetzt nicht das Terminal für tiefe Debugging-Sessions, aber für den schnellen Check "Läuft alles?" oder das Beobachten von Live-Daten ist es unschlagbar.

Probiere es in deinem nächsten Projekt aus – deine Augen werden es dir danken!


Cheatsheet

  • Logs leeren: Klicke auf das Mülleimer-Icon in der UI (leert nur die Ansicht, nicht das Log-File).
  • Suche: Nutze CTRL+F direkt in der Web-Oberfläche.
  • Herunterfahren: docker compose down
[WERBUNG: CONTENT UNTEN]