Docker Daemon日志

22 篇文章 0 订阅
11 篇文章 0 订阅

更多文章:WorkMap技术博客

日志位置

  • Linux

    使用命令 journalctl -xu docker.service
    根据 Linux 发行版读取 /var/log/syslog 或 /var/log/messages

  • macOS(dockerd 日志)

    ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log

  • macOS(containerd 日志)

    ~/Library/Containers/com.docker.docker/Data/log/vm/containerd.log

  • Windows(WSL2)(dockerd 日志)

    %LOCALAPPDATA%\Docker\log\vm\dockerd.log

  • Windows(WSL2)(containerd 日志)

    %LOCALAPPDATA%\Docker\log\vm\containerd.log

  • Windows(Windows 容器)

    日志在 Windows 事件日志中

在 macOS 上查看 dockerd 日志,打开终端窗口,输入tail命令, CTRL+c 终止

tail -f ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log

启用调试

启用调试有两种方法。

  • 在 daemon.json 文件中将 debug 键设置为 true。该方法适用于每个 Docker 平台。
    {
      "debug" : true
      }
    

如果文件已经包含 JSON,请只添加键“debug”: true,另外还要设置log-level为info 或 debug。

  • 向守护程序发送 HUP 信号以导致其重新加载其配置。
    在 Linux 主机上,使用以下命令。
    sudo kill -SIGHUP $(pidof dockerd)
    
    在 Windows 主机上,重新启动 Docker。

强制记录堆栈跟踪

如果守护程序无响应,则可以通过向守护程序发送 SIGUSR1 信号来强制记录完整的堆栈跟踪。

  • Linux:

    sudo kill -SIGUSR1 $(pidof dockerd)
    
  • Windows Server:
    下载 docker-signal。

    获取 dockerd 的进程 ID: Get-Process dockerd。

    运行docker-signal,参数为 --pid=。

这将强制记录堆栈跟踪,但不会停止守护程序。如果已将堆栈跟踪记录到文件中,则守护程序日志将显示堆栈跟踪或包含堆栈跟踪的文件路径。
处理 SIGUSR1 信号并将堆栈跟踪转储到日志后,守护程序继续运行。堆栈跟踪可用于确定守护程序中所有 goroutine 和线程的状态。

查看堆栈跟踪

可以使用以下方法之一查看 Docker 守护程序日志:

  • 在使用 systemctl 的 Linux 系统上运行 journalctl -u docker.service
  • 在旧版 Linux 系统上,查看/var/log/messages、/var/log/daemon.log或/var/log/docker.log

注意
无法在 Docker Desktop for Mac 或 Docker Desktop for Windows 上手动生成堆栈跟踪。但是,如果遇到问题,您可以单击 Docker 任务栏图标并选择故障排除以向 Docker 发送信息。

在 Docker 日志中查找以下消息:

...goroutine stacks written to /var/run/docker/goroutine-stacks-2017-06-02T193336z.log

Docker 保存这些堆栈跟踪和转储的位置取决于您的操作系统和配置。有时,从堆栈跟踪和转储中可以直接获取有用的诊断信息。否则,您可以将此信息提供给 Docker 以帮助诊断问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值