docker查看容器日志
参考网址:
https://mp.weixin.qq.com/s/f-2WrPhUcQV9RCSXJUCJwA
https://www.cnblogs.com/mr-wuxiansheng/p/11412489.html
https://mp.weixin.qq.com/s/Z1CeaPhv_RtVETbWWuAIbQ
通过docker logs命令可以查看容器的日志。
docker logs 日志说明
当我们输入docker logs的时候会转化为Docker Client向Docker Daemon发起请求,Docker Daemon 在运行容器时会去创建一个协程(goroutine),绑定了整个容器内所有进程的标准输出文件描述符。因此容器内应用的所有只要是标准输出日志,都会被 goroutine 接收,Docker Daemon会根据容器id和日志类型读取日志内容,最终会输出到用户终端上并且通过json格式存放在/var/lib/docker/containers目录下。
docker logs是跟随容器而产生的,如果删除了某个容器,相应的日志文件也会随着被删除
命令说明
命令格式
**$ 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 :
- 查看实时日志,不看历史:
docker -f --tail 1 container_id
- 查看后100行的日志:
docker logs --tail 100 container_id
- 查看30分钟之内日志
docker logs --since 30m container_id
- 查看指定日期之后的日志 (2019-03-25T13:00:00 到现在的日志)
docker logs -t --since="2019-03-25T13:00:00" container_id
- 查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2019-03-25" --tail=100 container_id
- 查看指定时间段之内的日志, (–until 需要docker API 1.35 之上才支持)
docker logs -t --since="2019-03-25T13:00:00" --until="2019-03-25T14:00:00" container_id
- 对查询到的日志内容进行过滤
docker logs -f --tail=100 container_id | grep 'xxx'