首页 文章

Docker守护程序日志在哪里?

提问于
浏览
275

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

10 回答

  • 18

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

    • 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/docker.log

    • Windows - Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time ,如here所述 .

  • 9

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

    sudo journalctl -fu docker.service
    
  • 7

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

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

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

  • 7

    对于 Docker Mac Native (没有Boot2Docker或docker-machine,在没有额外VirtualBox的情况下运行Docker安装 - 我推荐使用其他方法), all the answers didn´t work for me . 但幸运的是,_1687611拯救了 .

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

    syslog -k Sender Docker
    

    或者从Mac OS Sierra开始,您可以使用 the newly designed Mac Console App (这里不要混淆App "Terminal",Console App的图标看起来非常相似 - 我在"Others.."下方的Launchpad中找到了它) . 有一个article here描述了新的Mac OS Sierra控制台应用程序的一般用法,它尚未进入官方Docker文档 .

    在控制台应用程序内部,只需选择 system.log 并在搜索栏中键入 Docker 即可 . 而已 . 现在您应该看到所有与Docker相关的日志 .

  • 11

    Docker for Mac(测试版)

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

  • -2

    在我的环境(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

    • 检查日志文件

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

  • 3

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

  • 480

    停靠日志的位置已针对Mac OSX更改为 ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring

    Docker Daemon Documentation

  • 70

    您还可以通过此命令查看日志:

    docker service ps --no-trunc {serviceName}
    
  • 3

    添加在Windows中查找docker守护程序日志的方法:

    try

    在Windows和Mac OSX上使用docker机器时,守护程序在虚拟机内运行 .

    首先,找到您的活动Docker机器 .

    docker-machine ls在输出的NAME列下找到活动docker机器的名称 .

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

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

相关问题