查看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 | $ docker logs [OPTIONS] CONTAINER |
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 |