1、Docker 守护进程日志
在守护进程日志级别上,有四个级别的日志可用:
debug:详细描述了守护进程处理的所有可能的信息。
info:详细说明了守护进程处理的所有错误和信息。
errors :详细说明了守护进程处理的所有错误。
fatal:只详细说明了守护进程处理的所有致命错误。
启用日志的方法:
1)需要停止docker守护进程,如果它已经在运行。可以使用下面的命令来停止
sudo service docker stop
或者
sudo systemctl stop docker
2)启动docker守护进程时,需要附加-l参数来指定日志记录选项
sudo dockerd -l debug &
注意:Dockerd是docker守护进程的可执行文件。选项-l
用于指定日志级别。&
用于启用日志记录后返回命令提示符。也就是后台运行。这样可以同一个终端执行任何Docker命令,例如,docker ps
,debug信息也将被发送到终端控制台。如不使用&
,也可以另外在打开终端执行docker
命令,用之前的终端查看日志。
可以使用下面命令:
dockerd --log-level debug
关闭命令:
killall dockerd
2、Docker 容器日志记录
在容器级别也可以使用日志记录。可以使用docker logs
命令查看,如下,
docker logs [选项] CONTAINER_ID
选项:
CONTAINER_ID :需要查看进程信息的容器ID。可以使用docker ps -a
命令查看。
--details :显示更多的信息
-f, --follow :跟踪实时日志
--since string :显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string :从日志末尾显示多少行日志, 默认是all
-t, --timestamps :显示时间戳
--until string :显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
例如,
1)显示容器ID的日志
sudo docker logs 2e6e33c7d334
2)查看指定时间后的日志并显示50条
$ docker logs -f -t --since="2021-06-17" --tail=50 CONTAINER_ID
3)查看最近10分钟的日志
$ docker logs --since 10m CONTAINER_ID
4)查看某个时间后的日志
$ docker logs -t --since="2021-06-09T14:20:27" CONTAINER_ID
5)查看某时间段日志
$ docker logs -t --since="2021-06-09T14:00:00" --until "2021-06-09T15:00:00" CONTAINER_ID
3、Docker daemon日志的位置
Docker daemon日志的位置,不同的系统各不相同,如下:
Ubuntu:/var/log/upstart/docker.log
Boot2Docker:/var/log/docker.log
Debian GNU/Linux:/var/log/daemon.log
CentOS:/var/log/daemon.log | grep docker
Fedora:journalctl -u docker.service
Red Hat Enterprise Linux Server:/var/log/messages | grep docker