Où se trouve le journal du démon Docker?

344

Où se trouve le journal du démon Docker? Curieusement, je ne trouve pas de réponse à cela via man, StackOverflow ou Docker Docs. Remarque Je ne demande pas le conteneur Docker STDOUT, mais le journal du démon pour le dépannage des communications entre le client et le conteneur via le démon / proxy.

user2603634
la source
6
La liste officielle est ici: docs.docker.com/config/daemon/#read-the-logs
wisbucky
Vous devriez choisir une réponse comme la principale, car elle semble déjà plusieurs années.
Light.G

Réponses:

601

Cela dépend de votre système d'exploitation. Voici les quelques emplacements, avec des commandes pour quelques systèmes d'exploitation:

  • Ubuntu (ancien utilisant upstart) - /var/log/upstart/docker.log
  • Ubuntu (nouveau avec 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
  • Serveur 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, comme mentionné ici .
Sabin
la source
Si vous utilisez le pilote syslog en mode démon, c'est également là que vos journaux STDOUT vont.
Ganesh Hegde
Je crois que cela a 1.13déplacé l'emplacement OSX, mais je ne trouve aucune documentation à ce sujet.
mkobit
1
Le lien de @Thomasleveil ne fonctionne plus. Je pense que le lien équivalent serait ici docs.docker.com/engine/reference/commandline/dockerd
Adam Mazzarella
docker-machine : Utilisez docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (Docker-machine version 0.16.1, build cce350d7)
Claudio
94

Si votre système d'exploitation utilise, systemdvous pouvez afficher le journal du démon Docker avec:

sudo journalctl -fu docker.service
mixel
la source
Cela montre également la sortie des conteneurs Docker ... Existe-t-il un moyen de filtrer ceux-ci pour n'afficher que les dockerdjournaux?
docwhat
3
@TheDoctorWhat, c'est probablement parce que vous avez journalddéfini comme pilote de journalisation. Depuis github.com/docker/docker/issues/23339#issuecomment-224275072 , vous pouvez filtrer les conteneurs et ne conserver que les journaux des démons en utilisant journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(fonctionne bien ici)
Ciro Costa
22

À l'aide de CentOS7, les journaux sont disponibles à l'aide de la commande journalctl -u docker. Répondre distinctement, car la réponse de @ sabin pourrait être exacte pour les anciennes versions de CentOS mais ce n'était pas vrai pour moi.

systemd possède son propre système de journalisation appelé journal. Les journaux du démon docker peuvent être consultés à l'aide de journalctl -u docker

Réf: https://docs.docker.com/engine/admin/configuring/

joedragons
la source
13

Dans mon environnement (docker pour mac 17.07), il n'y a pas de fichier journal sur ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Au lieu de cela, je peux trouver le fichier journal comme ci-dessous.

  1. Entrez dans 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. Vérifier le fichier journal

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

SunghoMoon
la source
11

Pour Docker Mac Native (sans Boot2Docker ou docker-machine, exécuter votre installation Docker sans VirtualBox supplémentaire - que je recommanderais par rapport aux autres), toutes les réponses n'ont pas fonctionné pour moi . Mais les docs Docker sont heureusement venus à la rescousse.

Si vous voulez voir les journaux du démon docker sur la ligne de commande, tapez simplement:

syslog -k Sender Docker

Alternativement à partir de Mac OS Sierra, vous pouvez utiliser l'application Mac Console nouvellement conçue (ne vous confondez pas ici avec l'application "Terminal", l'icône de l'application Console semble assez similaire - je l'ai trouvée avec le Launchpad ci-dessous "Autres". . "). Il y a un article ici qui décrit l'utilisation générale de la nouvelle application Mac OS Sierra Console, qui n'a pas encore été intégrée dans les documents Docker officiels.

Dans l'application console, choisissez simplement system.log et tapez Dockerdans la barre de recherche. C'est tout. Vous devriez maintenant voir tous les journaux liés à Docker.

jonashackt
la source
9

Docker pour Mac (bêta)

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

Lauri
la source
7

Pour Mac avec Docker Toolbox, ssh dans la VM d'abord avec docker-machine ssh %VM-NAME%puis vérifiez/var/log/docker.log

YongJiang Zhang
la source
3

Vous pouvez également voir les journaux par cette commande:

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

Ajoutez des moyens de trouver le journal du démon docker dans les fenêtres:

essayer

Lors de l'utilisation de la machine Docker sur Windows et Mac OSX, le démon s'exécute à l'intérieur d'une machine virtuelle.

Tout d'abord, trouvez votre machine Docker active.

docker-machine ls Recherchez le nom de la machine docker active dans la colonne NOM de la sortie.

Vous pouvez copier le fichier journal du démon docker dans votre répertoire local pour analyse:

docker-machine scp par défaut: /var/log/docker.log ./ Où par défaut est le nom de votre machine docker active.

Gabriel Wu
la source