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.
344
Odpowiedzi:
To zależy od twojego systemu operacyjnego. Oto kilka lokalizacji z poleceniami dla kilku systemów operacyjnych:
/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
jak wspomniano tutaj .źródło
1.13
przeniesiono lokalizację OSX, ale nie mogę znaleźć na to żadnej dokumentacji.docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log
. (doker-maszyna wersja 0.16.1, kompilacja cce350d7)Jeśli używasz systemu operacyjnego
systemd
, możesz wyświetlić dziennik demona dokera za pomocą:źródło
dockerd
dzienniki?journald
ustawił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ącjournalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker
(działa tutaj dobrze)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.Patrz: https://docs.docker.com/engine/admin/configuring/
źródło
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/docker.log
Zamiast tego mogę znaleźć plik dziennika, jak poniżej.
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
Sprawdź plik dziennika
/ # tail -f /var/log/docker.log
źródło
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:
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ć
Docker
w pasek wyszukiwania. Otóż to. Teraz powinieneś zobaczyć wszystkie dzienniki związane z Dockerem.źródło
Docker na komputery Mac (Beta)
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
źródło
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
źródło
Lokalizacja dzienników dokera zmieniła się dla Mac OSX na
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
Zobacz dokumentację demona Docker
źródło
Możesz także zobaczyć logi za pomocą tego polecenia:
źródło
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.
źródło