Где находится журнал демона Docker?

344

Где находится журнал демона Docker? Как ни странно, не могу найти ответ на этот вопрос через man, StackOverflow или Docker Docs. Примечание. Я не спрашиваю о док-контейнере STDOUT, а о журнале демона для устранения неполадок связи между клиентом и контейнером через демон / прокси.

user2603634
источник
6
Официальный список здесь: docs.docker.com/config/daemon/#read-the-logs
wisbucky
Вы должны выбрать ответ в качестве ведущего, так как кажется, уже несколько лет.
Light.G

Ответы:

601

Это зависит от вашей ОС. Вот несколько мест с командами для нескольких операционных систем:

  • Ubuntu (старый использует upstart) - /var/log/upstart/docker.log
  • Ubuntu (новое использование 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как уже упоминалось здесь .
Сабин
источник
Если вы используете драйвер syslog в режиме демона, то сюда также попадают ваши журналы STDOUT.
Ганеш Хегде
Я считаю, что 1.13это изменило местоположение OSX, но я не могу найти никакой документации по этому вопросу.
mkobit
1
Ссылка от @Thomasleveil больше не работает. Я полагаю, что эквивалентная ссылка была бы здесь docs.docker.com/engine/reference/commandline/dockerd
Адам
Докер-машина : Использование docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (Docker-машина версии 0.16.1, сборка cce350d7)
Клаудио
94

Если ваша ОС использует, systemdвы можете просмотреть журнал демона Docker с помощью:

sudo journalctl -fu docker.service
Mixel
источник
Это также показывает вывод Docker-контейнеров ... Есть ли способ отфильтровать их, чтобы показать только dockerdлоги?
Что
3
@TheDoctorWhat, это, вероятно, потому что вы journaldустановили в качестве драйвера регистрации. На сайте github.com/docker/docker/issues/23339#issuecomment-224275072 вы можете отфильтровать содержимое контейнеров и хранить только логи демонов с помощью journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(здесь все работает отлично)
Ciro Costa
22

Используя CentOS7, журналы доступны с помощью команды journalctl -u docker. Четкий ответ, потому что ответ @ sabin может быть точным для более старых версий CentOS, но не для меня.

У systemd есть собственная система регистрации, называемая журналом. Журналы для демона docker можно просмотреть с помощью journalctl -u docker

Ссылка: https://docs.docker.com/engine/admin/configuring/

joedragons
источник
13

В моем окружении (Docker для Mac 17.07) нет файла журнала на ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Вместо этого я могу найти файл журнала, как показано ниже.

  1. Войдите в ВМ.

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

  2. Проверьте файл журнала

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

SunghoMoon
источник
11

Для Docker Mac Native (без Boot2Docker или docker-machine, с запуском установки Docker без дополнительного VirtualBox - что я бы порекомендовал над остальными), все ответы не сработали для меня . Но документы Докера, к счастью, пришли на помощь.

Если вы хотите видеть журналы демона docker в командной строке, просто наберите:

syslog -k Sender Docker

В качестве альтернативы, начиная с Mac OS Sierra, вы можете использовать недавно разработанное консольное приложение Mac (не путайте здесь с приложением «Терминал», значок консольного приложения выглядит очень похоже - я нашел его с помощью панели запуска ниже «Другие»). ".). Здесь есть статья, которая описывает общее использование нового приложения Mac OS Sierra Console, которое еще не вошло в официальную документацию Docker.

В Консольном приложении просто выберите system.log и введите его Dockerв строку поиска. Это оно. Теперь вы должны увидеть все журналы, связанные с Docker.

jonashackt
источник
9

Докер для Mac (бета)

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

Лаури
источник
7

Для Mac с Docker Toolbox сначала зайдите в виртуальную машину с помощью ssh, docker-machine ssh %VM-NAME%а затем проверьте/var/log/docker.log

Юнцзян чжан
источник
3

Также вы можете посмотреть логи по этой команде:

docker service ps --no-trunc {serviceName}
Тарас Васькив
источник
-1

Добавьте способы найти журнал Docker Daemon в Windows:

пытаться

При использовании докера на Windows и Mac OSX, демон запускается на виртуальной машине.

Во-первых, найдите свой активный компьютер Docker.

docker-machine ls Найти имя активной док-машины под столбцом NAME в выходных данных.

Вы можете скопировать файл журнала демона docker в локальный каталог для анализа:

scp по умолчанию для docker-machine: /var/log/docker.log ./ Где default - имя активного вашего докера.

Габриэль Ву
источник