运维笔记--docker高效查看后台日志

场景描述:linux

应用程序运行在 Docker环境中,
常用的查看后台日志的命令是:docker attach 容器名
该命令优势:实时输出;
不足之处:日志大量输出的时候,屏幕一闪而过,不便于调试,
而且有一个比较严重的问题,就是该命令在某些容器环境下,因为配置不一样,ctrl+c命令退出的时候,会直接致使该容器中止。docker

其实,docker自身是集成封装了一些关于查看日志的命令的,组合使用,可帮助平常快速定位问题:spa

* 显示全部 log
* 显示实时 log
* 使用 tail 查看 log 尾部
* 使用 grep 过滤 log
* 根据时间查看 log
* 组合使用
* 把错误日志追加写入文件

1. 显示全部 log调试

# 显示某个容器的全部log
$ docker logs [OPTIONS] <CONTAINER>

# 显示 docker-compose 启动的全部容器的log
$ docker-compose logs

2. 显示实时 log日志

类比linux下的命令tail -f ****.logcode

$ docker logs -f <CONTAINER>

3. 查看倒数最近的多少条日志记录blog

$ docker logs --tail 20 <CONTAINER>

4. grep 过滤 logclass

$ docker logs | grep error

5. 根据时间查看 log容器

如只想查看某个时间点以后的日志,使用 --since 选项,显示从指定时间点到最新的日志:后台

$ docker logs --since 2019-04-20T15:05:34.483942Z <CONTAINER>

--since指定了开始时间点,还能够指定结束时间点,使用选项 --until,显示两者之间的日志:

$ docker logs --since 2019-04-20T15:05:34.483942Z --until 2019-04-23T15:05:34.483942Z <CONTAINER>

6. 组合使用

$ docker logs --tail 10 <CONTAINER> | grep info
$ docker logs -f --since xxx --tail=10 <CONTAINER>

7. 把错误日志追加写入某个文件

$ docker logs -t <CONTAINER> | grep error >> logs_error.txt

若是公司有本身的内部日志分析系统,这里能够天天定时采集错误日志,并将错误日志文件,导入日志系统,分析。

相关文章
相关标签/搜索