Docker守护程序日志在哪里?奇怪的是无法通过man手册、StackOverflow或Docker文档找到答案。请注意,我不是在寻求docker容器的STDOUT,而是守护程序/代理通过客户端和容器进行通信时出现问题时的守护程序日志。
这取决于您的操作系统:https://docs.docker.com/config/daemon/logs/
下面是几个位置和一些操作系统的命令:
/var/log/upstart/docker.log
sudo journalctl -fu docker.service
/var/log/docker
/var/log/docker.log
/var/log/daemon.log
cat /var/log/message | grep docker
journalctl -u docker.service
journalctl -u docker.service
/var/log/messages | grep docker
journalctl -u docker.service
~/Library/Containers/com.docker.docker/Data/log/vm/docker.log
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time
,如此处所述。docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log
命令。 (docker-machine 版本 0.16.1,构建 cce350d7) - Claudio/var/log/docker.log
。 - Grangersudo journalctl -fu docker.service
。 - Sarang如果你的操作系统使用了 systemd
,那么你可以使用以下命令查看docker守护进程的日志:
sudo journalctl -fu docker.service
dockerd
日志? - docwhatjournald
设置为你的日志驱动程序。从 https://github.com/docker/docker/issues/23339#issuecomment-224275072 可以看出,你可以使用 journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker
来过滤容器相关内容并只保留守护进程日志(在我这里有效)。 - Ciro Costa在使用CentOS 7.x或8.x时,可使用命令journalctl -u docker
来查看日志。需要指出的是,@sabin的答案可能适用于旧版本的CentOS,但对我来说不正确。
systemd有自己的日志记录系统,称为journal。可以使用journalctl -u docker命令查看docker守护进程的日志。
在我的环境下(docker for mac 17.07),没有日志文件位于~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
相反,我可以在以下位置找到日志文件:
进入VM。
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
或
$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
检查日志文件
/ # tail -f /var/log/docker.log
syslog -k Sender Docker
或者,从Mac OS Sierra开始,您可以使用全新设计的Mac控制台应用程序(不要与“终端”应用程序混淆,控制台应用程序的图标看起来非常相似 - 我在启动台下方的“其他”中找到了它)。这里有一篇文章描述了新的Mac OS Sierra控制台应用程序的通用用法,这些内容尚未包含在官方Docker文档中。
在控制台应用程序中,只需选择system.log并在搜索栏中键入Docker
即可。就是这样。现在您应该能看到所有与Docker相关的日志。
Mac版Docker(测试版)
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
对于带有Docker Toolbox的Mac,首先使用docker-machine ssh %VM-NAME%
登录到虚拟机,然后检查/var/log/docker.log
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
中。你也可以通过以下命令查看日志:
docker service ps --no-trunc {serviceName}
我在 Manjaro 20/Arch Linux 下找不到日志。相反,我只是停止了 Docker 守护进程并使用 $ sudo dockerd -D
命令以 调试模式 重新启动守护进程以生成日志。很遗憾,官方的 Docker 文档没有为 Arch 提供此信息。
这不仅适用于 Arch,而且适用于其他系统。