CodeGym /Kurse /Docker SELF /Arbeit mit Container-Logs

Arbeit mit Container-Logs

Docker SELF
Level 11 , Lektion 3
Verfügbar

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.

Terminal


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.

Terminal


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.

Terminal


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.

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

Oder

Terminal


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.

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

Oder

Terminal


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.

Terminal


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.

Terminal


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.

Terminal


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.

Terminal


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.

Terminal


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.

Terminal


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.

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION