CodeGym /Kurse /Docker SELF /Logging von Containern

Logging von Containern

Docker SELF
Level 22 , Lektion 0
Verfügbar

6.1 Grundfunktionen des Kommandos docker logs

Container-Logging ist ein wichtiger Teil des Managements und Monitorings von Docker-Anwendungen. Logs helfen dabei, das Verhalten von Containern nachzuverfolgen, Probleme zu diagnostizieren und zu verstehen, wie Anwendungen innerhalb von Containern arbeiten. In dieser Vorlesung schauen wir uns genau an, wie das Kommando docker logs für das Logging von Containern genutzt wird.

Grundfunktionen des Kommandos docker logs

Das Kommando docker logs wird verwendet, um Logs von Containern abzurufen und anzusehen. Es ermöglicht:

  • Die Betrachtung der Standardausgabe (stdout) und der Standardfehlerausgabe (stderr) eines Containers.
  • Logs in Echtzeit zu filtern und zu verfolgen.
  • Logs zu durchsuchen und zu analysieren, um Probleme zu diagnostizieren.

6.2 Verwendung des Befehls docker logs

1. Anzeigen der Logs eines Containers

Verwende den folgenden Befehl, um die Logs eines Containers anzuzeigen:

Terminal

docker logs <container_id_or_name>

Beispiel:

Terminal

docker logs my_container 

Dieser Befehl zeigt alle Logs des Containers my_container an.

2. Echtzeit-Überwachung der Logs

Um die Logs in Echtzeit zu überwachen, benutze das Flag -f (oder --follow):

Terminal

docker logs -f <container_id_or_name>

Beispiel:

Terminal

docker logs -f my_container

Dieser Befehl zeigt neue Logs an, sobald sie erscheinen.

3. Einschränkung der Anzahl angezeigter Zeilen

Um die Anzahl der Zeilen einzuschränken, die mit dem Befehl docker logs angezeigt werden, benutze das Flag --tail:

Terminal

docker logs --tail <number_of_lines> <container_id_or_name>

Beispiel:

Terminal

docker logs --tail 10 my_container

Dieser Befehl zeigt die letzten 10 Zeilen der Logs des Containers my_container an.

4. Anzeigen der Logs ab einer bestimmten Zeit

Um die Logs ab einer bestimmten Zeit anzuzeigen, benutze das Flag --since:

Terminal

docker logs --since <timestamp> <container_id_or_name>

Beispiel:

Terminal

docker logs --since 2022-01-01T00:00:00 my_container

Dieser Befehl zeigt die Logs des Containers my_container ab dem 1. Januar 2022 an.

5. Anzeigen der Logs bis zu einer bestimmten Zeit

Um die Logs bis zu einer bestimmten Zeit anzuzeigen, benutze das Flag --until:

Terminal

docker logs --until <timestamp> <container_id_or_name>

Beispiel:

Terminal

docker logs --until 2022-01-02T00:00:00 my_container

Dieser Befehl zeigt die Logs des Containers my_container bis zum 2. Januar 2022 an.

6.3 Beispiele zur Verwendung von docker logs

Beispiel 1: Diagnose eines Anwendungsfehlers

Falls deine Anwendung innerhalb eines Containers unerwartet mit einem Fehler beendet wurde, kannst du docker logs verwenden, um den Grund dafür herauszufinden:

Terminal

docker logs my_app_container 

Das Ansehen der Logs kann dir helfen zu verstehen, was schiefgelaufen ist und warum die Anwendung abgestürzt ist.

Beispiel 2: Verfolgung eines Dienstes

Um die Arbeit eines Webdienstes in Echtzeit zu verfolgen, verwende das Flag -f:

Terminal

docker logs -f web_service_container 

Dieser Befehl ermöglicht es dir, alle neuen Logs des Webdienstes live zu sehen.

Beispiel 3: Analyse von Logs für einen bestimmten Zeitraum

Wenn du Logs für einen bestimmten Zeitraum analysieren musst, verwende die Flags --since und --until:

Terminal

docker logs --since "2023-07-01" --until "2023-07-02" my_app_container 

Dieser Befehl zeigt die Logs des Containers my_app_container für den 1. Juli 2023 an.

6.4 Konfiguration der Docker Logging-Treiber

Docker unterstützt verschiedene Logging-Treiber, die für Container konfiguriert werden können. Die wichtigsten Logging-Treiber umfassen:

  • json-file: Standardmäßig. Logs werden in Dateien im JSON-Format gespeichert.
  • syslog: Logs werden an das Systemprotokoll (syslog) gesendet.
  • journald: Logs werden an das System journald gesendet.
  • gelf: Logs werden an Server gesendet, die das GELF-Protokoll (Graylog Extended Log Format) unterstützen.
  • fluentd: Logs werden an den Fluentd-Server gesendet.

Logging-Treiber einstellen

Um den Logging-Treiber einzustellen, kannst du das Flag --log-driver beim Start des Containers verwenden:

Terminal

docker run --log-driver <driver_name> <container_image>

Beispiel:

Terminal

docker run --log-driver syslog my_app_image

Dieses Beispiel startet einen Container mit dem syslog Logging-Treiber.

Konfiguration der Logging-Parameter

Du kannst Logging-Parameter mithilfe des Flags --log-opt angeben:

Terminal

docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION