您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

docker查询日志并输出到文件的方法

51自学网 2023-07-14 22:04:09
  网站维护

想查询一下docker容器内服务的log,但是因为log太多,想自定义筛选一下。

1、导出全部的log到文件

docker logs dockerId >>log.txt

2、按照时间导出log信息

但是全部的log太多,我想按照时间进行查询,这就用到了--since参数

--since参数的含义是,显示某个时间点后的log信息,也可以是相对于现在多长时间的log信息

显示某个时间点后的log信息。下面命令,查询的是2023年4月28日之后的log信息

docker logs --since="2023-04-28" 容器id >> file.log

也可以是日期+时间或者时间戳 

docker logs --since="2023-04-28 00:00:00" 容器id >>file.logdocker logs --since="1682665239" 容器id >>file.log

相对于现在多长时间的log信息。下面的命令,查询的是过去10分钟的log信息

docker logs --since 10m 容器id >>file.log

还可以配合着--until参数,查询某个时间段内的log信息

docker logs --since="2023-04-28T00:00:00" --until "2023-04-28T12:00:00" 容器id >>file.log

3、按照log中可能包含的字符串,导出log信息

docker logs 容器id |grep '处理失败' >> file.log

但是上面的检索我们没办法定位报错信息的上下文可以用-A -B -C匹配

docker logs 容器id | grep -A 10 '处理失败'  # 打印匹配行的后10行docker logs 容器id | grep -B 10 '处理失败'  # 打印匹配行的前10行docker logs 容器id | grep -C 10 '处理失败'  # 打印匹配行的前后10行

docker logs 的一些参数,以及参数的含义

运行:docker logs --help  命令

Options:      --details        Show extra details provided to logs  -f, --follow         Follow log output      --since string   Show logs since timestamp (e.g. "2013-01-02T13:23:37Z") or relative (e.g. "42m" for 42 minutes)  -n, --tail string    Number of lines to show from the end of the logs (default "all")  -t, --timestamps     Show timestamps      --until string   Show logs before a timestamp (e.g. "2013-01-02T13:23:37Z") or relative (e.g. "42m" for 42 minutes)

含义:

Options:      --details        显示提供给日志的额外详细信息  -f, --follow         监控日志输出      --since string   显示自时间戳之后的日志(例如“2013-01-02T13:23:37Z”)或相关日志(例如“42m”42分钟)  -n, --tail string    从日志末尾开始显示的行数(默认为“全部”)  -t, --timestamps     显示时间戳      --until string   在时间戳(例如“2013-01-02T13:23:37Z”)或相对时间戳(例如“42m”42分钟)之前显示日志

总结


下载地址:
Docker容器内部无法访问外网原因以及解决办法
Tomcat负载均衡部署过程
51自学网自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1