Gdzie jest dziennik demona Docker?

344

Gdzie jest dziennik demona Docker? Co dziwne, nie można znaleźć na to odpowiedzi przez man, StackOverflow lub Docker Docs. Uwaga: Nie pytam o kontener STDOUT dokera, ale dziennik demona do rozwiązywania problemów z komunikacją między klientem a kontenerem za pośrednictwem demona / proxy.

użytkownik2603634
źródło
6
Oficjalna lista znajduje się tutaj: docs.docker.com/config/daemon/#read-the-logs
wisbucky
Powinieneś wybrać odpowiedź jako wiodącą, ponieważ wydaje się, że to już kilka lat.
Light.G

Odpowiedzi:

601

To zależy od twojego systemu operacyjnego. Oto kilka lokalizacji z poleceniami dla kilku systemów operacyjnych:

  • Ubuntu (stary przy użyciu upstart) - /var/log/upstart/docker.log
  • Ubuntu (nowy przy użyciu 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
  • Serwer 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 Timejak wspomniano tutaj .
Sabin
źródło
Jeśli używasz sterownika syslog w trybie demona, tam również idą twoje logi STDOUT.
Ganesh Hegde,
Uważam, że 1.13przeniesiono lokalizację OSX, ale nie mogę znaleźć na to żadnej dokumentacji.
mkobit
1
Link z @Thomasleveil już nie działa. Myślę, że równoważny link będzie tutaj docs.docker.com/engine/reference/commandline/dockerd
Adam Mazzarella
maszyna dokująca : użyj docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (doker-maszyna wersja 0.16.1, kompilacja cce350d7)
Claudio
94

Jeśli używasz systemu operacyjnego systemd, możesz wyświetlić dziennik demona dokera za pomocą:

sudo journalctl -fu docker.service
mixel
źródło
Pokazuje to również wyjście kontenerów dokowanych ... Czy istnieje sposób na ich odfiltrowanie, aby wyświetlić tylko dockerddzienniki?
docwhat
3
@TheDoctorWhat, to prawdopodobnie dlatego, że journaldustawiłeś jako sterownik rejestrowania. Z github.com/docker/docker/issues/23339#issuecomment-224275072 możesz odfiltrować zawartość kontenerów i zachować tylko dzienniki demonów, używając journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(działa tutaj dobrze)
Ciro Costa
22

Przy użyciu CentOS7 dzienniki są dostępne za pomocą polecenia journalctl -u docker. Odpowiadając wyraźnie, ponieważ odpowiedź @ sabin może być trafna dla starszych wersji CentOS, ale nie była dla mnie prawdziwa.

systemd ma własny system rejestrowania zwany dziennikiem. Dzienniki demona dokera można przeglądać za pomocą dokera Journalctl -u

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

joedragony
źródło
13

W moim środowisku (doker dla Mac 17.07) nie ma pliku dziennika w ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Zamiast tego mogę znaleźć plik dziennika, jak poniżej.

  1. Wejdź do maszyny wirtualnej.

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

  2. Sprawdź plik dziennika

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

SunghoMoon
źródło
11

W przypadku Docker Mac Native (bez Boot2Docker lub maszyny dokującej), uruchamianie instalacji Docker bez dodatkowego VirtualBoxa - które poleciłbym w porównaniu z innymi), wszystkie odpowiedzi nie działały dla mnie . Ale doktorowie na szczęście przybyli na ratunek.

Jeśli chcesz zobaczyć dzienniki demona dokera w wierszu poleceń, po prostu wpisz:

syslog -k Sender Docker

Alternatywnie od Mac OS Sierra możesz używać nowo zaprojektowanej aplikacji Mac Console (nie myl się tutaj z aplikacją „Terminal”, ikona aplikacji konsoli wygląda dość podobnie - znalazłem ją z Launchpad poniżej „Inne”. . ”). Jest tu artykuł opisujący ogólne użycie nowej aplikacji Sierra OS Console dla systemu Mac OS, która nie znalazła się jeszcze w oficjalnych dokumentach Dockera.

W aplikacji konsolowej wystarczy wybrać system.log i wpisać Dockerw pasek wyszukiwania. Otóż ​​to. Teraz powinieneś zobaczyć wszystkie dzienniki związane z Dockerem.

jonashackt
źródło
9

Docker na komputery Mac (Beta)

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

Lauri
źródło
7

W przypadku komputerów Mac z Docker Toolbox najpierw ssh do maszyny wirtualnej za pomocą, docker-machine ssh %VM-NAME%a następnie zaznacz/var/log/docker.log

YongJiang Zhang
źródło
3

Możesz także zobaczyć logi za pomocą tego polecenia:

docker service ps --no-trunc {serviceName}
Taras Vaskiv
źródło
-1

Dodaj sposoby znajdowania demona dokera w oknach:

próbować

Podczas używania maszyny dokującej w systemie Windows i Mac OSX demon działa wewnątrz maszyny wirtualnej.

Najpierw znajdź swoją aktywną maszynę Docker.

docker-machine ls Znajdź nazwę aktywnej maszyny dokującej w kolumnie NAZWA w danych wyjściowych.

Możesz skopiować plik dziennika demona dokera do lokalnego katalogu do analizy:

docker-machine scp default: /var/log/docker.log ./ Gdzie default to nazwa aktywnej maszyny docker.

Gabriel Wu
źródło