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:
docker logs <container_id_or_name>
Beispiel:
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
):
docker logs -f <container_id_or_name>
Beispiel:
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
:
docker logs --tail <number_of_lines> <container_id_or_name>
Beispiel:
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
:
docker logs --since <timestamp> <container_id_or_name>
Beispiel:
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
:
docker logs --until <timestamp> <container_id_or_name>
Beispiel:
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:
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
:
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
:
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:
docker run --log-driver <driver_name> <container_image>
Beispiel:
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:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION