Tutorials  /  Container & Cloud

Docker Logs Befehl: Container-Logs anzeigen & filtern

Ccentron Redaktion · September 2025 ·9 Min. Lesezeit ·Container & Cloud, Tutorial

Der Befehl docker logs ist ein unverzichtbares Diagnosewerkzeug, das alle Ausgaben eines Containers auf Standardausgabe (stdout) und Standardfehler (stderr) anzeigt. Besonders hilfreich ist er beim Beheben von Startfehlern, beim Analysieren des Laufzeitverhaltens oder beim Prüfen von Fehlermeldungen. Mit diesem Tool erhält man direkten Zugriff auf die Containeraktivitäten, ohne sich anhängen oder per exec verbinden zu müssen.

Während sich docker logs auf die Anwendungs-Ausgaben konzentriert, entfaltet er sein volles Potenzial in Kombination mit Befehlen wie docker inspect und docker exec, die Metadaten und eine interaktive Shell bereitstellen. In dieser Anleitung wird erklärt, wie man docker logs zum Anzeigen, Streamen und Filtern von Container-Logs nutzt, um Probleme effizient zu erkennen und zu beheben.

Schnellreferenz

Wenn du bereits mit Docker vertraut bist und nur schnell Container-Logs prüfen willst, helfen dir die folgenden Befehle:

Console
# Alle laufenden Container anzeigen, um die Container-ID zu erhalten
$ docker container ls

# Logs eines Containers anzeigen
$ docker logs <container_id>

# Logs in Echtzeit streamen
$ docker logs -f <container_id>

# Die letzten 100 Zeilen der Logs anzeigen
$ docker logs --tail 100 <container_id>

# Logs ab einem bestimmten Zeitpunkt anzeigen
$ docker logs --since="2025-05-20T10:00:00" <container_id>

# Logs bis zu einem bestimmten Zeitpunkt anzeigen
$ docker logs --until="2025-05-20T12:00:00" <container_id>

# Logs mit Zeitstempeln anzeigen
$ docker logs --timestamps <container_id>

Diese Beispiele decken die gängigsten Anwendungsfälle für das Prüfen und Filtern von Logs ab. Im Folgenden findest du detaillierte Erklärungen und Beispiele.

K8

Passende Infrastruktur bei centron

Vom Container zum Cluster: Managed Kubernetes mit cStack gibt es ab 29,99 € im Monat – Control Plane, AutoScaler und Traffic inklusive. Managed Kubernetes ansehen →

Container-Logs anzeigen

Mit dem Befehl docker logs lassen sich Ausgaben eines Containers aus stdout und stderr einsehen. Dazu gehören Anwendungs-Logs, Startmeldungen und Fehlermeldungen, die essenziell für die Diagnose sind.

Befehlssyntax

Console
docker logs <container_id>
  • docker logs: Gibt die vollständige stdout- und stderr-Ausgabe des Containers aus.
  • <container_id>: Die kurze oder vollständige ID des Containers, die mit docker container ls ermittelt werden kann.

Anwendungsfall

  • Zeigt alle Logs seit dem Start des Containers.
  • Beeinflusst den laufenden Container nicht.
  • Nützlich, um zu prüfen, ob Dienste korrekt gestartet wurden, um Fehler zu analysieren oder Laufzeitprobleme zu untersuchen.

Befehlbeispiel

Zuerst die laufenden Container auflisten:

Console
$ docker container ls

Beispielausgabe:

Code
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
ea45fa0f96ac   nginx     "/docker-entrypoint.…"   44 seconds ago  Up 44 seconds  80/tcp    web

Nun die Logs des Containers mit seiner ID oder seinem Namen abrufen:

Console
$ docker logs ea45fa0f96ac

Beispielausgabe der Logs:

Code
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
...
2025/05/28 20:44:38 
1#1: start worker process 29

Logs in Echtzeit streamen

Um die Logs eines Containers fortlaufend zu überwachen, wird die Option -f oder --follow verwendet. Damit bleibt die Sitzung aktiv und neue Logeinträge werden kontinuierlich ausgegeben. Dies ist besonders nützlich beim Debuggen von Live-Diensten oder zur Beobachtung laufender Prozesse.

Befehlssyntax

Console
docker logs -f <container_id>
  • docker logs: Gibt die Ausgaben aus stdout und stderr aus.
  • -f oder --follow: Streamt Logs fortlaufend.
  • <container_id>: ID des Containers (kurz oder vollständig).

Anwendungsfall

  • Streamt Logs kontinuierlich, bis der Vorgang mit Ctrl + C beendet wird.
  • Hilfreich zur Überwachung von Hintergrundprozessen, Webanfragen oder Deployments.
  • Optimal, um in Echtzeit auf Container-Reaktionen zu achten.

Befehlbeispiel

Zunächst die laufenden Container anzeigen:

Console
$ docker container ls

Logs in Echtzeit aus einem Container streamen:

Console
$ docker logs -f 8f8f72f26159

Dies zeigt die Logs des Containers live an. Um das Streaming zu stoppen, drücke Ctrl + C.

Logs nach Zeit und Zeilen filtern

Mit bestimmten Flags kannst du die Log-Ausgabe gezielt einschränken, um unnötige Einträge auszublenden und dich auf relevante Ereignisse zu konzentrieren. So lassen sich Logs eines bestimmten Zeitraums oder nur die aktuellsten Zeilen anzeigen.

Optionen zur Log-Filterung

Flag Wert erforderlich Typ Beschreibung
--tail Ja (Zahl) Integer Zeigt nur die letzten n Zeilen an
--since Ja (Zeitstempel) String Zeigt Logs ab einem bestimmten Zeitpunkt an
--until Ja (Zeitstempel) String Zeigt Logs bis zu einem bestimmten Zeitpunkt an
--timestamps Nein Boolean Fügt jedem Log-Eintrag einen ISO 8601 Zeitstempel hinzu

Diese Optionen können mit docker logs kombiniert werden, um präziser Fehler zu analysieren. Nachfolgend findest du Beispiele zu jeder Option.

Neueste Logs mit --tail anzeigen

Befehlssyntax

Console
docker logs --tail <anzahl_der_zeilen> <container_id>
  • --tail: Beschränkt die Ausgabe auf die letzten n Zeilen (z. B. 10, 100, 500).
  • <container_id>: Die ID des Containers (kurz oder vollständig).

Anwendungsfall

  • Zeigt nur die aktuellsten Log-Einträge.
  • Vermeidet unnötiges Scrollen durch lange Logs.
  • Ideal, um schnell die letzten Aktivitäten zu prüfen.

Befehlbeispiel

Laufende Container auflisten:

Console
$ docker container ls

Die letzten 10 Zeilen eines Containers anzeigen:

Console
$ docker logs --tail 10 ea45fa0f96ac

Beispielausgabe:

Code
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
...
2025/05/28 20:44:38 
1#1: start worker process 29

Logs ab einem bestimmten Zeitpunkt mit --since

Befehlssyntax

Console
docker logs --since="<zeitstempel>" <container_id>
  • --since: Zeigt Logs ab einem bestimmten Zeitpunkt.
  • Unterstützt ISO-Timestamps (z. B. 2025-05-20T10:00:00) oder relative Angaben (z. B. 30m, 2h, 1d).

Anwendungsfall

  • Filtert Logs, die nach einem bestimmten Zeitpunkt erstellt wurden.
  • Hilfreich zur Eingrenzung von Logs bei Tests oder bekannten Ereignissen.
  • Unterstützt absolute und relative Zeitangaben.

Befehlbeispiel

Zuerst Container auflisten:

Console
$ docker container ls

Logs ab einem festen Zeitstempel anzeigen:

Console
$ docker logs --since="2025-05-27T10:00:00" ea45fa0f96ac

Ausgabe nur ab dem angegebenen Zeitpunkt.

Logs der letzten 30 Minuten anzeigen:

Console
$ docker logs --since="30m" ea45fa0f96ac

Filtert die Ausgabe auf die letzten 30 Minuten.

Logs bis zu einem bestimmten Zeitpunkt mit --until

Befehlssyntax

Console
docker logs --until="<zeitstempel>" <container_id>
  • docker logs: Gibt die Ausgaben aus stdout und stderr aus.
  • --until: Zeigt Logs bis zu einem bestimmten Zeitpunkt (z. B. 2025-05-20T12:00:00 oder relativ wie 30m, 2h).
  • <container_id>: Container-ID.

Anwendungsfall

  • Begrenzt die Ausgabe auf Logs vor einem bestimmten Zeitpunkt.
  • Nützlich, um den Systemzustand vor einem Fehler zu prüfen.
  • Lässt sich gut mit --since kombinieren, um einen Zeitraum zu definieren.

Befehlbeispiel

Aktive Container auflisten:

Console
$ docker container ls

Logs vor einem bestimmten Zeitpunkt anzeigen (z. B. 28. Mai 2025, 20:44:39):

Console
$ docker logs --until="2025-05-28T20:44:39" ea45fa0f96ac

Beispielausgabe:

Code
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
...

Logs anzeigen, die älter als zwei Stunden sind:

Console
$ docker logs --until="2h" ea45fa0f96ac

Besonders hilfreich, um Logs vor einem Ausfall oder früheren Ereignissen einzusehen.

Logs mit Zeitstempeln versehen (--timestamps)

Befehlssyntax

Console
docker logs --timestamps <container_id>
  • --timestamps: Ergänzt jeden Log-Eintrag mit einem ISO 8601 Zeitstempel.
  • <container_id>: Container-ID.

Anwendungsfall

  • Erleichtert die Zuordnung von Logs zu Anwendungsereignissen und Fehlern.
  • Hilft bei Debugging von Latenz- oder Zeitproblemen.
  • Besonders nützlich beim Einsatz von Log-Aggregatoren.

Befehlbeispiel

Container identifizieren und Logs mit Zeitstempeln anzeigen:

Console
$ docker container ls
$ docker logs --timestamps ea45fa0f96ac

Beispielausgabe:

Code
2025-05-28T20:44:38.654359332Z /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
2025-05-28T20:44:38.664232169Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
2025-05-28T20:44:38.690538640Z 2025/05/28 20:44:38 
1#1: nginx/1.27.5 2025-05-28T20:44:38.690643927Z 2025/05/28 20:44:38
1#1: OS: Linux 6.8.0-60-generic

Besonders praktisch für die Korrelation von Logs und die Integration in Monitoring-Systeme.

Fehlerbehebung beim Anzeigen von Logs

Beim Ausführen von docker logs können Fehler auftreten wie:

  • Error: No such container: <container_id>
  • Error response from daemon: permission denied

Diese entstehen meist durch falsche Container-Referenzen oder fehlende Berechtigungen.

Fehler „No such container“

Tritt auf, wenn die Container-ID ungültig, unvollständig oder der Container bereits beendet ist.

So beheben

  • Laufende Container anzeigen:
Console
$ docker container ls
  • Beendete Container ebenfalls auflisten:
Console
$ docker container ls -a
  • Die korrekte Container-ID oder den Namen verwenden:
Console
$ docker logs <gültige_container_id_oder_name>

Fehler „Permission denied“

Tritt auf, wenn der aktuelle Nutzer keine Berechtigung zum Zugriff auf Docker hat.

So beheben

  • Befehl mit sudo ausführen:
Console
$ sudo docker logs <container_id>
  • Nutzer zur Docker-Gruppe hinzufügen:
Console
$ sudo usermod -aG docker $USER

Danach ab- und wieder anmelden, damit die Änderung wirksam wird.

Fazit

In dieser Anleitung hast du gelernt, wie man den Befehl docker logs effektiv zur Fehlerdiagnose in Containern einsetzt. Du weißt nun, wie man:

  • Logs eines laufenden Containers anzeigt,
  • Ausgaben in Echtzeit streamt,
  • Logs mit --tail, --since, --until und --timestamps filtert,
  • und typische Fehler wie ungültige Container-IDs oder fehlende Berechtigungen behebt.

Mit diesen Techniken kannst du Probleme schneller erkennen und stabile Docker-Umgebungen sicherstellen. Weitere Details findest du in der offiziellen Docker-Dokumentation zum Befehl docker logs.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Container & Cloud
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren