📜  docker active log - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:31.321000             🧑  作者: Mango

Docker Active Log

Docker Active Log是一个基于Shell-Bash编写的工具,用于查看Docker容器的活动日志。该工具可以帮助程序员快速定位容器发生的错误,提高调试效率。

特点
  • 支持对单个或多个容器的活动日志进行实时查看
  • 支持通过参数定制日志输出格式
  • 支持过滤器功能,可以按关键字或时间范围对日志进行筛选
使用方法
1. 安装

将Docker Active Log工具拷贝到本地目录,然后在命令行中执行以下命令:

chmod +x docker-active-log.sh
2. 查看单个容器的活动日志

执行以下命令可以查看指定容器的活动日志:

./docker-active-log.sh <container-id>
3. 查看多个容器的活动日志

执行以下命令可以查看多个容器的活动日志:

./docker-active-log.sh <container-id1> <container-id2> <container-id3> ...
4. 指定日志输出格式
  • 输出完整日志(默认)

执行以下命令可以输出完整的活动日志:

./docker-active-log.sh <container-id> -f full
  • 仅输出日志内容

执行以下命令可以仅输出活动日志的内容:

./docker-active-log.sh <container-id> -f content
5. 使用过滤器

可以通过以下参数配置过滤器:

  • 按关键字过滤

执行以下命令可以输出包含指定关键字的日志内容:

./docker-active-log.sh <container-id> -f content -k <keyword>
  • 按时间范围过滤

执行以下命令可以输出指定时间范围内的日志内容:

./docker-active-log.sh <container-id> -f content -s <start-time> -e <end-time>
示例

以下是一个输出完整容器日志的示例:

./docker-active-log.sh 87f94c90d7a9
2021-09-29T02:18:49.862877848Z stdout F 2021-09-29T02:18:49.862Z [error] [pid 12] 1#1: *1 open() "/usr/share/nginx/html/404.html" failed (2: No such file or directory), client: 172.18.0.1, server: localhost, request: "GET /err HTTP/1.1", host: "localhost"
2021-09-29T02:19:04.166647073Z stdout F 172.18.0.5 - - [29/Sep/2021:02:19:04 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" "-"

以下是一个输出指定时间范围内的日志内容的示例:

./docker-active-log.sh 87f94c90d7a9 -f content -s "2021-09-29T02:19:00" -e "2021-09-29T02:19:30"
172.18.0.5 - - [29/Sep/2021:02:19:04 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" "-"