Docker守护程序日志在哪里?

use*_*634 322 logging docker

Docker守护程序日志在哪里?奇怪的是,通过man,StackOverflow或Docker Docs无法找到答案.注意我不是要求docker容器STDOUT,而是要求守护进程日志通过守护进程/代理来解决客户端和容器之间的通信问题.

Sab*_*bin 567

这取决于您的操作系统.以下是几个位置,包含几个操作系统的命令:

  • Ubuntu(旧的使用暴发户) - /var/log/upstart/docker.log
  • Ubuntu(新使用systemd) - sudo journalctl -fu docker.service
  • 亚马逊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
  • 红帽企业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
  • 视窗- Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time,提到这里.

  • 我认为答案应该被接受. (19认同)
  • Alpine Linux 还使用 `/var/log/docker.log` (2认同)

mix*_*xel 87

如果您的操作系统正在使用,systemd则可以使用以下命令查看docker守护程序日志:

sudo journalctl -fu docker.service
Run Code Online (Sandbox Code Playgroud)

  • @TheDoctor什么,这可能是因为你把`journald`设置为你的日志记录驱动程序.从https://github.com/docker/docker/issues/23339#issuecomment-224275072,您可以使用`journalctl -fu docker _TRANSPORT = stdout + OBJECT_EXE = docker`过滤容器内容并仅保留守护程序日志(正常工作)这里很好) (3认同)

joe*_*ons 22

使用CentOS7,可以使用该命令获取日志journalctl -u docker.明确回答,因为@ sabin的答案对于旧版本的CentOS可能是准确的,但对我来说却不是这样.

systemd有自己的日志记录系统.可以使用journalctl -u docker查看docker守护程序的日志

参考:https://docs.docker.com/engine/admin/configuring/


Sun*_*oon 13

在我的环境(docker for mac 17.07)中,没有日志文件 ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d??ocker.log

相反,我可以找到如下日志文件.

  1. 进入VM.

    $ 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


jon*_*ckt 11

对于Docker Mac Native(没有Boot2Docker或docker-machine,在没有额外的VirtualBox的情况下运行Docker安装 - 我推荐其他的),所有的答案对我都不起作用.但幸运的是Docker文档得救了.

如果要查看docker守护程序登录命令行,只需键入:

syslog -k Sender Docker
Run Code Online (Sandbox Code Playgroud)

或者从Mac OS Sierra开始,您可以使用新设计的Mac控制台应用程序(这里不要混淆应用程序"终端",控制台应用程序的图标看起来非常相似 - 我在下面的"启动板"中找到了它. ").这里有一篇文章描述了新的Mac OS Sierra控制台应用程序的一般用法,它还没有进入官方的Docker文档.

在Console App内部,只需选择system.logDocker在搜索栏中输入.而已.现在您应该看到所有与Docker相关的日志.


Lau*_*uri 9

Docker for Mac(测试版)

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


Yon*_*ang 7

对于带有Docker Toolbox的Mac,首先使用ssh进入VM docker-machine ssh %VM-NAME%,然后检查/var/log/docker.log