Heim >Betrieb und Instandhaltung >Docker >Wie Docker Protokolle druckt

Wie Docker Protokolle druckt

PHPz
PHPzOriginal
2023-04-10 14:17:473633Durchsuche

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.

  1. Docker-Logs-Befehl

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 anzeigen

Sie können die Bash-Shell des Docker-Containers über den Bash-Befehl abrufen und dann die Protokolldatei des Containers anzeigen.

Syntax:

    $ docker exec -it CONTAINER bash
  1. $ cd /var/log
  2. $ ls

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

Docker-Protokolltreiber verwenden

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

    syslog: Containerprotokolle über das Syslog-Protokoll an den Syslog-Server senden
  1. journald: Containerprotokolle über systemd – Der Journald-Dienst ist an das Linux-Journal gesendet und im Host-Protokolldateisystem aufgezeichnet

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.

    Logrotate installieren:
  1. $ apt-get update && apt-get -y -q install logrotate

Tools von Drittanbietern verwenden

    Logplex ist ein von Heroku entwickeltes Protokollverwaltungstool zur Verwaltung der Cloud-Protokollierung von Anwendungs- und Komponentenprotokollen Service. Wir können die von der Anwendung ausgegebenen Protokolle einfach über die Logplex-API auf Logplex hochladen und die Protokollanzeige und Filterabfragen unterstützen.
  1. An diesem Punkt beherrschen Sie grundlegende Fähigkeiten zur Protokollverwaltung von Docker-Containern, einschließlich des Druckens von Protokollen und der Verwendung des Docker-Protokolltreibers für Protokollfilterung, Rotation und andere Vorgänge. Ich hoffe, dieser Artikel ist hilfreich für Sie.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn