Docker ist eine beliebte Containerisierungsplattform für Anwendungen, die das Erstellen, Bereitstellen und Verwalten von Anwendungen beschleunigt. Beim Ausführen von Anwendungen mit Docker können jedoch unerwartete Probleme auftreten. Daher ist ein Blick auf das Docker-Startprotokoll erforderlich, um die Ursache des Problems zu ermitteln. Wie kann man also das Docker-Startprotokoll anzeigen?
Docker bietet einen integrierten Befehl „docker logs“, mit dem Sie die Standardausgabe und die Standardfehlerausgabe im Container anzeigen können. Um diesen Befehl zu verwenden, können Sie zunächst die ID oder den Namen des laufenden Containers überprüfen, der über den Docker-Befehl ps angezeigt werden kann:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8623f22d0b74 nginx "nginx -g 'daemon of…" 10 days ago Up 2 hours 80/tcp web
In der obigen Ausgabe lautet die Container-ID 8623f22d0b74 und der Containername ist web. Sie können den Docker-Logs-Befehl verwenden, um die Protokollausgabe im Container anzuzeigen:
$ docker logs 8623f22d0b74 172.17.0.1 - - [02/May/2020:19:41:04 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-" 172.17.0.1 - - [02/May/2020:19:41:06 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-"
In der obigen Ausgabe können wir das Zugriffsprotokoll des NGINX-Servers sehen. Dieser Befehl kann uns einfach dabei helfen, das Startproblem des Containers zu finden.
Zusätzlich zum Befehl „Docker Logs“ können wir auch den Befehl „Docker Events“ verwenden, um Docker-Startereignisse anzuzeigen. Dieser Befehl kann alle von Docker ausgegebenen Ereignisse beobachten und entsprechende Informationen ausgeben. Beispielsweise können wir den folgenden Befehl verwenden, um alle Ereignisse eines Docker-Laufs anzuzeigen:
$ docker events ... 2020-05-02T19:44:07.842095081+00:00 container destroy 8623f22d0b746eee40b1568a78ffdf2f1555a9c5b557d8c5a5a5eaa32c7f1ede (image=nginx, name=web) 2020-05-02T19:44:08.273816081+00:00 network disconnect 6cbedee6e77d 03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7 (endpoint=03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7, name=bridge, type=bridge) 2020-05-02T19:44:09.260029423+00:00 network destroy 6cbedee6e77d (name=bridge)
In der obigen Ausgabe können wir die Zerstörungsereignisse des Containers, das Trennungsereignis des Netzwerks und das Zerstörungsereignis des Netzwerks sehen . Dieser Befehl kann uns helfen, andere Ereignisse des Docker-Containers zu verstehen.
Alle Protokolle für einen Docker-Container werden im Dateisystem des Containers gespeichert. Daher können wir sie mit regulären Dateianzeigetools wie cat, tail oder grep anzeigen. Wenn Sie beispielsweise das Systemprotokoll des Containers anzeigen möchten, können Sie den folgenden Befehl verwenden:
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 /var/lib/docker/containers/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10-json.log
Dieser Befehl gibt den Protokolldateipfad des Containers aus. Wir können weiterhin den Befehl tail verwenden, um die letzten paar Zeilen der Protokolldatei anzuzeigen:
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 | xargs tail -f ...
In der obigen Ausgabe können wir die Echtzeit-Protokollausgabe des Containers sehen. Sie können die Tastenkombination Strg-C verwenden, um die Anzeige der Protokolle zu beenden.
Zusammenfassung
Die Protokollverwaltung von Docker ist ein komplexer Prozess, aber mithilfe der von Docker bereitgestellten integrierten Befehle können wir die im Container auftretenden Probleme leicht anzeigen. Durch die Verwendung der Befehle „docker logs“, „docker events“ oder durch Anzeigen der Containerprotokolldatei können wir über den Betriebsstatus des Docker-Containers auf dem Laufenden bleiben und so eine starke Unterstützung für die Bereitstellung und Verwaltung von Docker-Anwendungen bieten.
Das obige ist der detaillierte Inhalt vonSo zeigen Sie das Docker-Startprotokoll an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!