如何开启docker的调试模式和详细日志输出

有时想排查是什么原因导致docker pull失败,但是docker命令行输出的日志信息非常少。还好,docker可以开启调试模式和详细日志输出。linux下的详细方法如下:

1、找到docker配置目录。

如果是常规模式运行(root运行),则配置目录在“/etc/docker”。

如果是docker rootless模式运行(非root运行),则配置目录在“【运行docker rootless模式的用户名所属的home目录】/.config/docker”。

2、docker配置目录下有daemon.json文件,没有新建一个。

3、编辑daemon.json,加入”debug”: true和”log-level”:”info”。例子如下:

{
    "debug": true,
    "log-level":"info"
}

4、编辑后保存daemon.json。

5、重启docker服务。

6、到 /var/log/syslog或者 /var/log/messages查找相关docker日志。

以下为docker rootless模式运行时拉取镜像的详细日志示例:

Jan 26 00:12:38 B服务器 dockerd-rootless.sh[3291]: time="2023-01-26T00:12:38.695807201+08:00" level=debug msg="Trying to pull ubuntu from https://registry-1.docker.io v2"
Jan 26 00:12:42 B服务器 dockerd-rootless.sh[3291]: time="2023-01-26T00:12:42.218347552+08:00" level=debug msg="Fetching manifest from remote" digest="sha256:0e0402cd13f68137edb0266e1d2c682f217814420f2d43d300ed8f65479b14fb" error="context canceled" remote="docker.io/library/ubuntu:20.04"

参考:

【1】https://docs.docker.com/config/daemon/

【2】https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

本页永久链接:https://www.orztip.com/?p=761&article_title=docker-debug-mode-and-verbose-log