4.1 Grundlagen des Befehls docker logs
Der Befehl docker logs
ist ein praktisches Tool zum Überwachen und Debuggen von Containern. Damit können Entwickler und Systemadministratoren Container-Logs anzeigen, was bei der Problemdiagnose und Analyse der Anwendungsleistung hilft. In dieser Lektion schauen wir uns detailliert an, wie man den Befehl docker logs
verwendet, welche Parameter verfügbar sind und wie man Logs effizient verwaltet.
Der Befehl docker logs
gibt die Logs des angegebenen Containers aus. Diese Logs enthalten alle Nachrichten, die von den Prozessen innerhalb des Containers in die Standardausgabeströme (stdout)
und Fehlerströme (stderr)
geschrieben wurden.
Syntax
docker logs [OPTIONS] CONTAINER
Wo:
-
CONTAINER
: Name oder ID des Containers, dessen Logs du anzeigen möchtest. -
OPTIONS
: Zusätzliche Parameter für die Anpassung der Logausgabe.
Beispiel für grundlegende Nutzung
Dieser Befehl gibt alle gesammelten Logs des Containers my_container
aus.
docker logs my_container
4.2 Parameter des docker logs Befehls
Der Befehl docker logs
unterstützt mehrere Optionen, die es dir ermöglichen, die Ausgabe der Logs für spezifische Bedürfnisse anzupassen.
1. Logs in Echtzeit ansehen
Um Logs in Echtzeit anzusehen, benutzt man den Parameter -f (follow)
. Dieser Parameter erlaubt es, die Log-Updates direkt bei ihrem Erscheinen zu verfolgen, ähnlich wie der Befehl tail -f
.
docker logs -f my_container
2. Begrenzung der angezeigten Zeilen
Du kannst die Anzahl der angezeigten Zeilen des docker logs
-Befehls mithilfe des Parameters --tail
begrenzen. Das ist nützlich, wenn du nur die letzten Log-Zeilen und nicht das ganze Log benötigst.
docker logs --tail 100 my_container
Dieses Beispiel zeigt nur die letzten 100 Log-Zeilen des Containers my_container
an.
3. Logs ab einem bestimmten Zeitpunkt anzeigen
Mit dem Parameter --since
kannst du Logs ab einem bestimmten Zeitpunkt anzeigen lassen. Der Zeitpunkt kann im Timestamp-Format (z. B. 2023-07-20T15:00:00) oder als relativer Zeitraum (z. B. 1h für die Logs der letzten Stunde) angegeben werden.
docker logs --since "2023-07-20T15:00:00" my_container
Oder
docker logs --since 1h my_container
4. Logs bis zu einem bestimmten Zeitpunkt anzeigen
Mit dem Parameter --until
kannst du Logs bis zu einem bestimmten Zeitpunkt anzeigen lassen. Das Zeitformat ist dabei das gleiche wie beim Parameter --since
.
docker logs --until "2023-07-20T16:00:00" my_container
Oder
docker logs --until 10m my_container
5. Zusammenführung von stdout
und stderr
Standardmäßig gibt der Befehl docker logs
sowohl den Standardausgabestrom (stdout)
als auch den Fehlerstrom (stderr)
aus. Du kannst angeben, welche Ströme ausgegeben werden sollen, indem du die Parameter --stdout
und --stderr
verwendest.
docker logs --stdout my_container
Dieses Beispiel zeigt nur Nachrichten aus dem Standardausgabestrom an.
4.3 Anwendungsbeispiele
Beispiel 1: Die letzten Zeilen der Logs anzeigen und Updates verfolgen
Dieses Beispiel zeigt die letzten 50 Zeilen der Logs des Containers my_container und verfolgt neue Einträge in Echtzeit.
docker logs -f --tail 50 my_container
Beispiel 2: Logs der letzten 24 Stunden anzeigen
Dieses Beispiel zeigt alle Logs, die in den letzten 24 Stunden für den Container my_container
gesammelt wurden.
docker logs --since 24h my_container
Beispiel 3: Logs für einen bestimmten Zeitraum anzeigen
Dieses Beispiel zeigt Logs, die im Zeitraum von 15:00 bis 16:00 Uhr am 20. Juli 2023 für den Container my_container
aufgezeichnet wurden.
docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container
4.4 Praktische Szenarien
1. Debugging einer Anwendung
Wenn deine Anwendung nicht korrekt funktioniert oder abstürzt, kann das Anschauen der Logs helfen, das Problem zu diagnostizieren. Nutze den Befehl docker logs, um Fehler und Warnungen in den Logs zu finden.
docker logs my_app_container
2. Überwachung des Serverbetriebs
Um den Serverbetrieb in Echtzeit zu überwachen, kannst du den Befehl docker logs
mit der Option -f
verwenden.
docker logs -f web_server_container
Damit kannst du die Anfragen und Antworten des Servers in Echtzeit verfolgen.
3. Analyse der Performance
Wenn du die Performance einer Anwendung für einen bestimmten Zeitraum analysieren möchtest, verwende die Parameter --since
und --until
.
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container
GO TO FULL VERSION