Docker守护进程日志在哪里?奇怪的是,无法通过man, StackOverflow或Docker Docs找到答案。注意,我不是要docker容器的STDOUT,而是通过daemon / proxy在客户端和容器之间进行故障排除通信的守护进程日志。
当前回答
这取决于你的操作系统。下面是几个位置,其中包含针对少数操作系统的命令:
Ubuntu (old using upstart ) - /var/log/upstart/docker.log Ubuntu (new using systemd ) - sudo journalctl -fu docker.service Amazon Linux AMI - /var/log/docker Boot2Docker - /var/log/docker.log Debian GNU/Linux - /var/log/daemon.log CentOS - cat /var/log/message | grep docker CoreOS - journalctl -u docker.service Fedora - journalctl -u docker.service Red Hat Enterprise Linux Server - /var/log/messages | grep docker OpenSuSE - journalctl -u docker.service macOS - ~/Library/Containers/com.docker.docker/Data/log/vm/docker.log Windows - Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time, as mentioned here.
其他回答
这取决于你的操作系统。下面是几个位置,其中包含针对少数操作系统的命令:
Ubuntu (old using upstart ) - /var/log/upstart/docker.log Ubuntu (new using systemd ) - sudo journalctl -fu docker.service Amazon Linux AMI - /var/log/docker Boot2Docker - /var/log/docker.log Debian GNU/Linux - /var/log/daemon.log CentOS - cat /var/log/message | grep docker CoreOS - journalctl -u docker.service Fedora - journalctl -u docker.service Red Hat Enterprise Linux Server - /var/log/messages | grep docker OpenSuSE - journalctl -u docker.service macOS - ~/Library/Containers/com.docker.docker/Data/log/vm/docker.log Windows - Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time, as mentioned here.
对于Docker Mac Native(没有Boot2Docker或Docker -machine,运行Docker安装而没有额外的VirtualBox -我会推荐其他),所有的答案都不适合我。但Docker文档幸运地拯救了这个问题。
如果你想在命令行上查看docker守护进程日志,只需输入:
syslog -k Sender Docker
或者从Mac OS Sierra开始,你可以使用新设计的Mac控制台应用程序(不要在这里与应用程序“终端”混淆,控制台应用程序的图标看起来非常相似-我发现它与“Others..”下面的Launchpad)。这里有一篇文章描述了新的Mac OS Sierra控制台应用程序的一般用法,它还没有进入官方Docker文档。
在控制台应用程序中,只需选择system.log并在搜索栏中输入Docker。´s。现在您应该可以看到所有与Docker相关的日志。
在Sabin的回答中,适用于我的Windows命令是:
Get-EventLog -LogName Application -Source DockerService
增加了在windows中查找docker守护进程日志的方法:
try
当在Windows和Mac OSX上使用docker机器时,守护进程在虚拟机中运行。
首先,找到活动的Docker机器。
docker-machine ls 在输出的name列下找到活动docker机器的名称。
您可以将docker守护进程日志文件复制到本地目录进行分析:
Docker-machine SCP默认:/var/log/docker.log ./ 默认是激活docker机器的名称。
你也可以通过这个命令查看日志:
docker service ps --no-trunc {serviceName}
推荐文章
- 如何在docker映像的新容器中运行bash ?
- docker -撰写持久数据MySQL
- 从主机连接到docker容器中的mysql
- 当我使用Alpine作为基本图像时,如何添加用户?
- Docker -绑定0.0.0.0:4000失败:端口已经分配
- 将Python诗歌与Docker集成
- 如何在系统启动时运行docker-compose up -d ?
- 如何确定一个进程是否运行在lxc/Docker内部?
- 在docker容器上挂载多个卷?
- Kubernetes如何使部署更新映像
- 在log4j中,在记录日志之前检查isDebugEnabled是否能提高性能?
- Docker-compose up vs Docker-compose up -build vs Docker-compose build -no-cache
- 在Docker Alpine容器中启动一个shell
- 允许docker容器连接到本地/主机postgres数据库
- 在Docker Desktop中定位数据卷(Windows)