Onde está o log do daemon do Docker?

344

Onde está o log do daemon do Docker? Estranhamente, não é possível encontrar uma resposta para isso via man, StackOverflow ou Docker Docs. Nota: Não estou solicitando o contêiner docker STDOUT, mas o log do daemon para solucionar problemas de comunicação entre o cliente e o contêiner via daemon / proxy.

user2603634
fonte
6
A lista oficial está aqui: docs.docker.com/config/daemon/#read-the-logs
wisbucky
Você deve escolher uma resposta como a principal, uma vez que já parece vários anos.
Light.G

Respostas:

601

Depende do seu sistema operacional. Aqui estão os poucos locais, com comandos para alguns sistemas operacionais:

  • Ubuntu (antigo usando upstart) - /var/log/upstart/docker.log
  • Ubuntu (novo usando 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
  • Servidor Red Hat Enterprise Linux - /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, como mencionado aqui .
Sabin
fonte
Se você usar o driver syslog no modo daemon, também será para onde os seus logs STDOUT.
Ganesh Hegde
Acredito que 1.13mudou a localização do OSX, mas não consigo encontrar nenhuma documentação sobre isso.
Mkobit
11
O link de @Thomasleveil não está mais funcionando. Eu acredito que a ligação equivalente estaria aqui docs.docker.com/engine/reference/commandline/dockerd
Adam Mazzarella
docker-machine : Use docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (docker-machine versão 0.16.1, compilação cce350d7)
Claudio
94

Se o seu sistema operacional estiver em uso systemd, você poderá visualizar o log do daemon do docker com:

sudo journalctl -fu docker.service
mixel
fonte
Isso mostra a saída dos contêineres do docker também ... existe uma maneira de filtrá-los para mostrar apenas os dockerdlogs?
docwhat
3
@TheDoctorWhat, isso é provavelmente porque você journalddefiniu como seu driver de registro. De github.com/docker/docker/issues/23339#issuecomment-224275072 , você pode filtrar os recipientes coisas e manter registos unicamente daemon usando journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(funciona bem aqui)
Ciro Costa
22

Usando CentOS7, registros estão disponíveis usando o comando journalctl -u docker. Resposta distinta, porque a resposta da @ sabin pode ser precisa para versões mais antigas do CentOS, mas não é verdadeira para mim.

O systemd possui seu próprio sistema de registro chamado diário. Os logs para o daemon docker podem ser visualizados usando o journalctl -u docker

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

joedragons
fonte
13

No meu ambiente (janela de encaixe para mac 17.07), não há arquivo de log em ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Em vez disso, posso encontrar o arquivo de log como abaixo.

  1. Entre na VM.

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

  2. Verificar arquivo de log

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

SunghoMoon
fonte
11

Para o Docker Mac Native (sem o Boot2Docker ou a docker-machine, executando a instalação do Docker sem o VirtualBox extra - o que eu recomendaria sobre os outros), todas as respostas não funcionaram para mim . Felizmente, os médicos do Docker vieram em socorro.

Se você quiser ver os logs do daemon do docker na linha de comando, digite:

syslog -k Sender Docker

Como alternativa, no Mac OS Sierra, você pode usar o recém-criado aplicativo para console do Mac (não se confunda aqui com o aplicativo "Terminal", o ícone do console é parecido - encontrei-o no Launchpad abaixo de "Outros". . "). Há um artigo aqui que descreve o uso geral do novo aplicativo Mac OS Sierra Console, que ainda não foi publicado nos documentos oficiais do Docker.

Dentro do aplicativo do console, basta escolher system.log e digite Dockerna barra de pesquisa. É isso aí. Agora você deve ver todos os logs relacionados ao Docker.

jonashackt
fonte
9

Docker para Mac (Beta)

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

Lauri
fonte
7

No Mac com o Docker Toolbox, primeiro faça o ssh na VM docker-machine ssh %VM-NAME%e verifique/var/log/docker.log

YongJiang Zhang
fonte
3

Além disso, você pode ver os logs por este comando:

docker service ps --no-trunc {serviceName}
Taras Vaskiv
fonte
-1

Adicione maneiras de encontrar o daemon do docker nas janelas:

tentar

Ao usar a janela de encaixe no Windows e no Mac OSX, o daemon é executado dentro de uma máquina virtual.

Primeiro, encontre sua máquina Docker ativa.

docker-machine ls Encontre o nome da máquina docker ativa na coluna NAME na saída.

Você pode copiar o arquivo de log do daemon do docker para o diretório local para análise:

docker-machine scp padrão: /var/log/docker.log ./ Onde padrão é o nome da sua máquina docker ativa.

Gabriel Wu
fonte