Docker守护进程日志在哪里?

Docker守护进程日志在哪里? 奇怪的是无法find通过人,StackOverflow或Docker文档的答案。 注意我不是要求docker容器STDOUT,而是守护进程日志,用于通过守护进程/代理对客户端和容器之间的通信进行故障排除。

这取决于你的操作系统。 以下是less数几个操作系统的命令:

  • Ubuntu(旧版使用upstart) – /var/log/upstart/docker.log
  • Ubuntu(新的使用systemd) – journalctl -u docker.service
  • Boot2Docker – /var/log/docker.log
  • Debian GNU / Linux – /var/log/daemon.log
  • CentOS – /var/log/daemon.log | grep docker /var/log/daemon.log | grep docker
  • journalctl -u docker.servicejournalctl -u docker.service
  • Fedora – journalctl -u docker.service
  • 红帽企业Linux服务器 – /var/log/messages | grep docker /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 Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time ,如这里所述 。

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

 sudo journalctl -fu docker.service 

使用CentOS7,使用命令journalctl -u docker docker可以获得日志。 回答得很清楚,因为@ sabin的答案对于旧版本的CentOS可能是准确的,但对我来说并不正确。

systemd有自己的日志系统,称为日志。 docker守护进程的日志可以使用journalctl -u docker进行查看

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

Docker for Mac(Beta)

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

对于Docker Mac Native (没有Boot2Docker或者docker-machine,没有额外的VirtualBox运行你的Docker安装 – 我会推荐其他的), 所有的答案都不适用于我 。 但幸运的是Docker docs来救援。

如果您想在命令行中看到docker守护进程日志,只需键入:

 syslog -k Sender Docker 

另外,从Mac OS Sierra开始,您可以使用新devise的Mac控制台应用程序 (不要在这里与应用程序“terminal”混淆, 控制台应用程序的图标看起来非常相似 – 我发现它与“其他”下面的启动板。 “)。 这里有一篇文章 ,描述了新的Mac OS Sierra控制台应用程序的一般用法,它并没有进入正式的Docker文档。

在控制台应用程序内部,只需selectsystem.log并在search栏中inputDocker 。 而已。 现在你应该看到所有的Docker相关的日志。

对于使用Docker Toolbox的Mac,先用“docker-machine ssh%VM-NAME%”ssh进入虚拟机,然后检查/var/log/docker.log

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

相反,我可以find如下的日志文件。

  1. 进入虚拟机

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

  2. 检查日志文件

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

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring日志的位置已经改变为Mac ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring

请参阅Docker守护程序文档

添加方法来查找docker守护进程login窗口:

尝试

在Windows和Mac OSX上使用Docker机器时,守护进程在虚拟机内运行。

首先,find你的活动Docker机器。

docker-machine ls在输出中的NAME列下find活动docker计算机的名称。

您可以将docker守护进程日志文件复制到您的本地目录进行分析:

docker-machine scp默认:/var/log/docker.log ./其中default是docker机器的活动名称。