Wo befindet sich das Docker-Daemon-Protokoll? Seltsamerweise kann keine Antwort auf diese Frage über man, StackOverflow oder Docker Docs gefunden werden. Hinweis Ich frage nicht nach dem Docker-Container STDOUT, sondern nach dem Daemon-Protokoll zur Fehlerbehebung bei der Kommunikation zwischen Client und Container über Daemon / Proxy.
344
Antworten:
Das hängt von Ihrem Betriebssystem ab. Hier sind die wenigen Speicherorte mit Befehlen für einige Betriebssysteme:
/var/log/upstart/docker.log
sudo journalctl -fu docker.service
/var/log/docker
/var/log/docker.log
/var/log/daemon.log
/var/log/daemon.log | grep docker
journalctl -u docker.service
journalctl -u docker.service
/var/log/messages | grep docker
journalctl -u docker.service
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time
, wie hier erwähnt .quelle
1.13
das hat den OSX-Speicherort verschoben, aber ich kann keine Dokumentation dazu finden.docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log
. (Docker-Maschine Version 0.16.1, Build cce350d7)Wenn Ihr Betriebssystem verwendet
systemd
, können Sie das Docker-Daemon-Protokoll anzeigen mit:quelle
dockerd
Protokolle anzuzeigen?journald
als Protokollierungstreiber festgelegt haben. Unter github.com/docker/docker/issues/23339#issuecomment-224275072 können Sie die Container herausfiltern und nur Dämonenprotokolle aufbewahren, indem Siejournalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker
(funktioniert hier gut)Mit CentOS7 sind Protokolle mit dem Befehl verfügbar
journalctl -u docker
. Deutliche Antwort, da die Antwort von @ sabin für ältere Versionen von CentOS möglicherweise zutreffend war, für mich jedoch nicht zutraf.Ref: https://docs.docker.com/engine/admin/configuring/
quelle
In meiner Umgebung (Docker für Mac 17.07) gibt es keine Protokolldatei unter
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
Stattdessen kann ich die Protokolldatei wie folgt finden.
Geben Sie in VM ein.
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
oder
$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
Überprüfen Sie die Protokolldatei
/ # tail -f /var/log/docker.log
quelle
Für Docker Mac Native (ohne Boot2Docker oder Docker-Computer, der Ihre Docker-Installation ohne zusätzliche VirtualBox ausführt - was ich den anderen empfehlen würde) haben alle Antworten für mich nicht funktioniert . Aber die Docker-Dokumente kamen zum Glück zur Rettung.
Wenn Sie die Docker-Daemon-Protokolle in der Befehlszeile anzeigen möchten, geben Sie einfach Folgendes ein:
Alternativ können Sie ab Mac OS Sierra die neu gestaltete Mac Console App verwenden (verwechseln Sie sich hier nicht mit der App "Terminal", das Symbol der Console App sieht ziemlich ähnlich aus - ich habe es mit dem Launchpad unter "Andere" gefunden. . "). Hier gibt es einen Artikel der die allgemeine Verwendung der neuen Mac OS Sierra Console App beschreibt, die es noch nicht in die offiziellen Docker-Dokumente geschafft hat.
Wählen Sie
Docker
in der Konsolen-App einfach system.log und geben Sie es in die Suchleiste ein. Das ist es. Jetzt sollten alle Docker-bezogenen Protokolle angezeigt werden.quelle
Docker für Mac (Beta)
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
quelle
Für Mac mit Docker Toolbox ssh in die VM zuerst mit
docker-machine ssh %VM-NAME%
und dann überprüfen/var/log/docker.log
quelle
Der Speicherort der Docker-Protokolle wurde für Mac OSX in geändert
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
Siehe Docker Daemon-Dokumentation
quelle
Mit diesem Befehl können Sie auch Protokolle anzeigen:
quelle
Fügen Sie Möglichkeiten hinzu, um das Docker-Daemon-Protokoll in Windows zu finden:
Versuchen
Bei Verwendung der Docker-Maschine unter Windows und Mac OS X wird der Dämon in einer virtuellen Maschine ausgeführt.
Suchen Sie zunächst Ihren aktiven Docker-Computer.
Docker-Maschine ls Suchen Sie den Namen der aktiven Docker-Maschine in der Ausgabe unter der Spalte NAME.
Sie können die Docker-Daemon-Protokolldatei zur Analyse in Ihr lokales Verzeichnis kopieren:
docker-machine scp default: /var/log/docker.log ./ Dabei ist default der Name des aktiven Docker-Computers.
quelle