Bei der Verwendung von Docker zur Verwaltung unserer Anwendungen besteht eine häufige Anforderung darin, die Anwendungsprotokolle effektiv zu verwalten. Das Drucken von Protokollen in einem Docker-Container gehört zu den Fähigkeiten, die jeder Docker-Benutzer beherrschen muss. In diesem Artikel wird die Containerprotokollverwaltung von Docker vorgestellt, einschließlich der Anleitung zum Drucken von Containerprotokollen und der Verwendung der von Docker bereitgestellten Tools zur effektiven Protokollverwaltung.
1. Einführung in Docker-Containerprotokolle
Docker-Containerprotokolle (Containerprotokolle) beziehen sich auf die Informationsdatensätze, die von Anwendungen ausgegeben werden, die in Docker-Containern ausgeführt werden. Zu diesen Aufzeichnungen gehören der Ausführungsstatus der Anwendung, Fehlermeldungen, Debugging-Ausgaben usw. Diese Protokollinformationen sind für die Fehlerbehebung und Überwachung des Zustands Ihrer Anwendung von entscheidender Bedeutung.
Docker-Containerprotokolle werden über STDOUT und STDERR ausgegeben, erfasst und vom Docker-Daemon aufgezeichnet. Docker speichert Containerprotokolle standardmäßig im Verzeichnis /var/lib/docker/containers des Hosts.
2. Docker-Containerprotokolle drucken
Docker bietet mehrere Möglichkeiten, Containerprotokolle anzuzeigen. Im Folgenden werden einige häufig verwendete Methoden zum Anzeigen von Docker-Containerprotokollen vorgestellt.
Der Docker-Logs-Befehl ist die einfachste und am häufigsten verwendete Methode zum Anzeigen von Docker-Container-Protokollen. Mit diesem Befehl können wir ganz einfach alle Protokollinformationen des Containers anzeigen.
Syntax:
Docker-Protokolle [OPTIONS] CONTAINER
Zu den OPTIONS-Parametern gehören unter anderem:
-a, alle Container
--Details, zusätzliche Informationen zur Protokollausgabe anzeigen
--folgen, Protokollausgabe verfolgen
--since, geben Sie den Zeitstempel an, um die Ausgabe ab dem angegebenen Zeitpunkt zu starten.
--tail, geben Sie nur die letzten N Zeilen der Protokollinformationen aus. --timestamps, zeigen Sie den Zeitstempel an Dieser Befehl gibt alle Protokollinformationen des my_container-Containers aus.
Containerprotokolldateien anzeigenSie können die Bash-Shell des Docker-Containers über den Bash-Befehl abrufen und dann die Protokolldatei des Containers anzeigen.
Syntax:
Die erste Befehlszeile kann die Bash-Shell des Containers aufrufen, der zweite Befehl gibt das Verzeichnis ein, in dem sich die Protokolldatei befindet gefunden, und der dritte Befehl listet die Protokolldateien auf.
Zum Beispiel:
$ docker exec -it my_container bash
$ cd /var/log
$ ls
Der Docker-Protokolltreiber unterstützt das Senden von Containerprotokollen an Protokollverwaltungstools von Drittanbietern, z als ELK warten. Durch die Konfiguration des Docker-Protokolltreibers können wir Protokolle für unsere Container einfach verwalten, filtern und weiterleiten. Hier sind einige häufig verwendete Protokolltreiber:
json-file: Containerprotokolle im Json-Format in einer lokalen Datei speichern
Die spezifischen Schritte zur Verwendung des Docker-Protokolltreibers sind wie folgt:
1 Erstellen Sie einen Protokolltreiber. Wie folgt:
$ Docker Plugin Install --grant-all-permissions dev-logging
2 Starten Sie einen Container und geben Sie den Protokolltreiber an:
$ Docker Run --name=my_container --log-driver=dev- Protokollierung IMAGE
3. Docker-Protokollverwaltung
Docker bietet einige nützliche Tools zum Verwalten von Containerprotokollen, die es uns ermöglichen, Protokolle durch Filtern, Suchen, Rotieren usw. effektiv zu verwalten.
Verwenden Sie den Befehl docker logs zum Filtern.Verwenden Sie den Parameter --grep des Befehls docker logs, um Containerprotokolle basierend auf den Parametern zu filtern. Der folgende Befehl gibt beispielsweise alle Fehlerinformationen der all.log-Datei im my_container-Container aus:
$ docker logs my_container | Werkzeug. Durch die Installation des Logrotate-Tools in einem Docker-Container können Sie Containerprotokolle einfach rotieren.
Das obige ist der detaillierte Inhalt vonWie Docker Protokolle druckt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!