Docker守护进程日志在哪里?
Docker守护进程日志在哪里?奇怪的是无法通过man,*或Docker Docs找到答案。注意我不是要求docker容器STDOUT,而是守护进程日志,用于通过守护进程/代理来解决客户端和容器之间的通信问题。Docker守护进程日志在哪里?
这取决于您的操作系统。这里有几个地点,用命令的几个操作系统:
- 的Ubuntu(旧使用新贵) -
/var/log/upstart/docker.log
- 的Ubuntu(新使用systemd) -
sudo journalctl -fu docker.service
- 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/docker.log
- 的Windows -
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time
,提到here。
如果你的操作系统是使用systemd
,那么你可以查看码头工人守护程序日志有:
sudo journalctl -fu docker.service
这也显示了码头集装箱的输出......是否有一种方法可以过滤掉只显示'dockerd'日志? –
@TheDoctorWhat,这可能是因为你有'journald'设置为你的日志记录驱动程序。从https://github.com/docker/docker/issues/23339#issuecomment-224275072,你可以通过使用'journalctl -fu docker _TRANSPORT = stdout + OBJECT_EXE = docker'来过滤容器内容并保留守护进程日志这里罚款) –
使用CentOS7,日志使用命令journalctl -u docker
可用。清楚地回答,因为@ sabin的答案可能对旧版本的CentOS是准确的,但对我来说并不正确。
systemd有自己的日志系统称为日志。对于泊坞窗守护进程的日志可以使用journalctl -u泊坞窗中查看
对于Mac与码头工人工具箱,SSH进入VM先用docker-machine ssh %VM-NAME%
然后检查/var/log/docker.log
泊坞窗的MAC(测试版)
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
对于泊坞窗的Mac原生(没有Boot2Docker或docker-machine,无需额外的VirtualBox运行你的Docker安装 - 我会推荐其他的),所有的答案对我来说都没有效果。但幸好Docker docs来救援。
如果你想看到在命令行泊坞窗守护程序日志,只需键入:
syslog -k Sender Docker
或者从Mac OS塞拉利昂,您可以使用全新设计的Mac控制台应用程序(鸵鸟政策感到困惑这里的应用程序“终端”,控制台应用程序的图标看起来非常相似 - 我发现它与“其他”下的Launchpad。)。有一个article here,它描述了新的Mac OS Sierra控制台应用程序的一般用法,它并没有进入正式的Docker文档。
在控制台应用程序中,只需选择system.log并键入Docker
进入搜索栏。而已。现在你应该看到所有的Docker相关日志。
添加方式找到码头工人守护程序日志中的窗口:
在Windows和Mac OSX使用泊坞窗机,守护程序在虚拟机内运行。
首先,找到您的活动Docker机器。
码头机ls 在输出中的NAME列下找到活动码头机的名称。
您可以将泊坞窗守护程序日志文件复制到本地目录分析:
泊坞窗机SCP默认:/var/log/docker.log ./ 如果默认激活你的泊坞窗机的名称。
在我的环境(码头工人的Mac 17.07),有在~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
没有日志文件,而不是我能找到的日志文件,如下。
-
进入虚拟机。
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
-
检查日志文件
/ # tail -f /var/log/docker.log
泊坞窗日志的位置已更改为Mac OSX到~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
人值得一提的是'-D' docker选项来激活调试模式。请参阅https://docs.docker.com/reference/commandline/cli/#daemon – Thomasleveil
如果您在守护进程模式下使用syslog驱动程序,则这也是您的STDOUT日志所在的位置。 –
在运行Elastic Container Service的Amazon Linux实例上,它的/ var/log/docker – grant