Docker-Protokolle - Zeigen Sie die Implementierung der Docker-Container-Protokolle an

Docker-Protokolle - Zeigen Sie die Implementierung der Docker-Container-Protokolle an

Sie können die Containerprotokolle über den Befehl „Docker Logs“ anzeigen.

Befehlsformat:

$ Docker-Protokolle [OPTIONEN] CONTAINER
 Optionen:
    --details Weitere Informationen anzeigen -f, --follow Echtzeitprotokolle verfolgen --since string Protokolle nach einem bestimmten Zeitstempel oder einer relativen Zeit anzeigen, z. B. 42 m (also 42 Minuten)
    --tail string Wie viele Protokollzeilen werden ab dem Ende des Protokolls angezeigt? Der Standardwert ist „alle“
  -t, --timestamps Zeitstempel anzeigen --until Zeichenfolge Protokolle vor einem bestimmten Zeitstempel oder einer relativen Zeit anzeigen, z. B. 42 m (also 42 Minuten)

Beispiel:

Zeigen Sie die Protokolle nach der angegebenen Zeit an und zeigen Sie nur die letzten 100 Zeilen an:

$ Docker-Protokolle -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

Sehen Sie sich die Protokolle der letzten 30 Minuten an:

$ Docker-Protokolle – seit 30 Min. CONTAINER_ID

Zeigen Sie die Protokolle nach einer bestimmten Zeit an:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

Protokolle für einen bestimmten Zeitraum anzeigen:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

Ergänzung: Debugging-Tipps für Docker-Container: Docker-Logs und Docker-Service-Logs

Debuggen von Containern

Viele Studierende, die mit Docker noch nicht vertraut sind, stoßen häufig auf das Problem, dass sich der Docker-Container nicht starten lässt oder sie ihn wiederholt starten, ohne zu wissen, was sie tun sollen.

Docker stellt eine Reihe einfacher Befehle zur Verfügung, die das Debuggen von Problemen im Containerbetrieb erleichtern.

Das Prinzip ist ganz einfach, d.h. man kann sich die Logs der Container-Laufzeit (bzw. Vergangenheitsform) direkt ausgeben lassen.

Normalerweise gibt es 4 Möglichkeiten:

docker run (Container auf der Konsole starten)

docker exec (an Hintergrundcontainer anhängen)

docker logs

docker service logs

Im Folgenden werden wir vorstellen

Starten Sie den Container von der Konsole aus

Debuggen und starten Sie beispielsweise den Redis-Container

docker run -it -rm redis redis-server [Redis-Startparameter ausgelassen …]

Auf diese Weise wird die Protokollausgabe des Redis-Servers direkt auf die Konsole gedruckt

Der Nachteil besteht darin, dass diese Methode nur beim Starten des Container-Debuggings verwendet wird und keine im Hintergrund laufenden oder abgelaufenen Container bedienen kann.

Docker Exec wird an den Hintergrundcontainer angehängt

Manchmal müssen Sie den Container betreten, um den Betriebsstatus des Systems zu überprüfen. Derzeit können Sie Docker Exec verwenden.

Voraussetzung für die Verwendung von Docker Exec ist, dass der Container ausgeführt wird. Wenn der Container nicht ordnungsgemäß funktioniert, kann dieser Befehl daher häufig nicht verwendet werden.

Docker-Protokolle

Tatsächlich können Sie Docker-Protokolle verwenden, um alle Protokolle des Containers abzurufen, unabhängig davon, in welchem ​​Status sich der Docker-Container befindet.

Docker-Protokolle [Containername]

Docker-Protokolle unterliegen auch Einschränkungen. Das heißt, es ist nicht möglich, Containerprotokolle abzurufen, deren Start im Docker-Schwarmmodus fehlgeschlagen ist.

Docker-Dienstprotokolle

Holen Sie sich für den Docker-Swarm-Modus den Befehl für Containerprotokolle.

Führen Sie im Allgemeinen die folgenden Befehle nacheinander aus, um den Containernamen eines Dienstes abzurufen

Docker-Dienst ls
Docker-Dienst PS [Dienstname]

Anschließend können Sie das Protokoll anhand des Containernamens abrufen

Docker-Dienstprotokolle [Containername]

Docker-Dienstprotokolle zeigen, dass das Protokoll leer ist

Damit Docker-Dienstprotokolle ordnungsgemäß funktionieren, müssen Sie einige Docker-Konfigurationen festlegen

vi /etc/docker/daemon.json

Zu dieser Datei hinzufügen:

{
  "log-driver": "JSON-Datei",
  "log-opts": {
    "Labels": "Produktionsstatus, Geo",
    "env": "Betriebssystem, Kunde"
  }
}

Starten Sie dann Docker neu

Dienst Docker Neustart

Eine ausführliche Einführung in Docker-Dienstprotokolle finden Sie in der offiziellen Dokumentation

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Lösung für das Problem, dass der Hostname des Hosts im Docker-Container nicht abgerufen werden kann
  • Jedes Mal, wenn Docker einen Container startet, werden die IP und die Hosts mit den angegebenen Operationen
  • Schritte zum Wiederherstellen von Code aus einem Docker-Container-Image
  • Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang
  • Beheben Sie das Problem, dass einige Konfigurationsdateien in /etc nach dem Neustart des Docker-Containers zurückgesetzt werden
  • Eine kurze Diskussion zum Problem des Docker-Run-Containers im erstellten Status
  • Docker-Container greift auf MySQL-Operationen des Hosts zu

<<:  Zusammenfassung der wichtigsten Wissenspunkte zur MySQL-Abfrageoptimierung

>>:  Übertragung von Routing-Parametern für die Kommunikation von React-Komponenten (react-router-dom)

Artikel empfehlen

So verwenden Sie das Realip-Modul im Nginx-Grundlagenlernen

Vorwort Es gibt zwei Arten von Nginx-Modulen: off...

React kapselt die globale Bullet-Box-Methode

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der MySQL-Partitionstabelle

Vorwort: Partitionierung ist ein Tabellenentwurfs...

Drei Möglichkeiten zum Erstellen eines Graueffekts auf Website-Bildern

Ich habe schon immer Graustufenbilder bevorzugt, d...

MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux

Was ist MySQL Multi-Instance Einfach ausgedrückt ...

Einige Tipps zum Schreiben leistungsstarker HTML-Anwendungen

Wie können Sie die Leistung einer Webseite verbes...

Vermeidung von durch Closures verursachten Problemen in JavaScript

Über let, um Probleme durch Schließung zu vermeid...

Implementierungsschritte zur Kapselung von Komponenten basierend auf React

Inhaltsverzeichnis Vorwort Wie kapselt Antd Kompo...

Import-, Export-, Sicherungs- und Migrationsvorgänge für Docker-Images

Export: docker save -o centos.tar centos:latest #...

Docker legt Port 2375 frei, was zu Serverangriffen und -lösungen führt

Ich glaube, dass Studenten, die etwas über die Do...

So richten Sie Textfelder in mehreren Formularen in HTML aus

Der Formularcode ist wie in der Abbildung dargest...