Для просмотра логов контейнера обычно используется встроенная команда docker logs, но есть правда пару минусов, которые конечно решаемые, но не хочется тратить своё время на костыли. Вот несколько из этих минусов:

  • Иногда нужно получить логи с пересоздаваемых контейнеров, которые могут пересоздаваться очень быстро. В таком случае команда docker logs перестанет выводить логи так как контейнеры пересоздаются.
  • Временами хочется смотреть все логи в одном терминале, а не в нескольких.

gliderlabs/logspout

Для самого простого решения этих проблем мы можем использовать контейнер gliderlabs/logspout, который подключится к сокету docker и будет выводить абсолютно все логи в одном месте, что кстати очень полезно для debug.

Для запуска выполняем команду:

docker run -d --name="logspout" --volume=/var/run/docker.sock:/var/run/docker.sock --publish=127.0.0.1:8000:80 gliderlabs/logspout

Для просмотра логов используем curl:

curl http://127.0.0.1:8000/logs