查看docker容器日志

查看docker容器日志

通过docker logs命令可以查看容器的日志。

docker logs 日志说明

当我们输入docker logs的时候会转化为Docker Client向Docker Daemon发起请求,Docker Daemon 在运行容器时会去创建一个协程(goroutine),绑定了整个容器内所有进程的标准输出文件描述符。因此容器内应用的所有只要是标准输出日志,都会被 goroutine 接收,Docker Daemon会根据容器id和日志类型读取日志内容,最终会输出到用户终端上并且通过json格式存放在/var/lib/docker/containers目录下。

docker logs是跟随容器而产生的,如果删除了某个容器,相应的日志文件也会随着被删除

命令说明

命令格式

1
2
3
4
5
6
7
8
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

For Example :

  • 查看实时日志,不看历史:
1
docker -f --tail 1 container_id
  • 查看后100行的日志:
1
docker logs --tail 100 container_id
  • 查看30分钟之内日志
1
docker logs  --since 30m container_id
  • 查看指定日期之后的日志 (2019-03-25T13:00:00 到现在的日志)
1
docker logs -t --since="2019-03-25T13:00:00"  container_id
  • 查看指定时间后的日志,只显示最后100行:
1
docker logs -f -t --since="2019-03-25" --tail=100 container_id
  • 查看指定时间段之内的日志, (–until 需要docker API 1.35 之上才支持)
1
docker logs -t --since="2019-03-25T13:00:00" --until="2019-03-25T14:00:00" container_id
感谢您的支持!