it-swarm.com.de

Wo befindet sich das Docker-Daemon-Protokoll?

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.

314
user2603634

Es hängt von Ihrem Betriebssystem ab. Hier sind die wenigen Speicherorte mit Befehlen für einige Betriebssysteme:

  • Ubuntu (alt mit Upstart) - /var/log/upstart/docker.log
  • Ubuntu (neu mit systemd) - Sudo journalctl -fu docker.service
  • Amazon Linux AMI - /var/log/docker
  • Boot2Docker - /var/log/docker.log
  • Debian GNU/Linux - /var/log/daemon.log
  • CentOS - /var/log/daemon.log | grep docker
  • CoreOS - journalctl -u docker.service
  • Fedora - journalctl -u docker.service
  • Red Hat Enterprise Linux Server - /var/log/messages | grep docker
  • OpenSuSE - journalctl -u docker.service
  • OSX - ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/log/d‌​ocker.log
  • Windows - Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time, wie erwähnt hier .
551
Sabin

Wenn Ihr Betriebssystem systemd verwendet, können Sie das Docker-Daemon-Protokoll wie folgt anzeigen:

Sudo journalctl -fu docker.service
87
mixel

Unter CentOS7 stehen Protokolle mit dem Befehl journalctl -u docker zur Verfügung. Deutlich zu antworten, da die Antwort von @sabin für ältere Versionen von CentOS korrekt sein könnte, für mich jedoch nicht zutraf.

systemd verfügt über ein eigenes Protokollierungssystem, das als Journal bezeichnet wird. Die Protokolle für den Docker-Daemon können mit journalctl -u docker angezeigt werden

Ref: https://docs.docker.com/engine/admin/configuring/

22
joedragons

In meiner Umgebung (Docker für Mac 17.07) gibt es unter ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/log/d‌​ocker.log keine Protokolldatei.

Stattdessen kann ich die unten stehende Protokolldatei finden.

  1. Betreten Sie VM.

    $ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty
    oder
    $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

  2. Überprüfen Sie die Protokolldatei

    / # tail -f /var/log/docker.log

12
SunghoMoon

Für Docker Mac Native (ohne Boot2Docker oder Docker-Computer, Ausführen Ihrer Docker-Installation ohne zusätzliche VirtualBox - was ich den anderen empfehlen würde), alle antworten haben bei mir nicht geklappt . Aber das Docker docs kam glücklicherweise zur Rettung.

Wenn Sie die Docker-Daemon-Protokolle in der Befehlszeile anzeigen möchten, geben Sie einfach Folgendes ein:

syslog -k Sender Docker

Alternativ können Sie ab Mac OS Sierra die neu gestaltete Mac Console App verwenden (verwechseln Sie hier nicht die App "Terminal", die Console Das App-Icon sieht ziemlich ähnlich aus - ich habe es mit dem Launchpad unter "Others .." gefunden. Es gibt einen Artikel hier , 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 in der Konsolen-App einfach system.log und geben Sie Docker in die Suchleiste ein. Das ist es. Jetzt sollten alle Docker-bezogenen Protokolle angezeigt werden.

11
jonashackt

Docker für Mac (Beta)

~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/log/d‌​ocker.log

9
Lauri

Bei einem Mac mit Docker Toolbox müssen Sie zuerst mit docker-machine ssh %VM-NAME% in VM ssh und dann /var/log/docker.log aktivieren.

7
YongJiang Zhang

Der Speicherort der Docker-Protokolle wurde für Mac OSX in ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/console-ring geändert.

Siehe Docker-Daemon-Dokumentation

3
cara

Mit diesem Befehl können Sie auch Protokolle anzeigen:

docker service ps --no-trunc {serviceName}
3
Taras Vaskiv