赞
踩
docker logs 是 Docker 命令行工具提供的一个命令,用于查看容器的日志输出。它可以显示容器在运行过程中生成的标准输出(stdout)和标准错误输出(stderr),帮助用户诊断容器的行为和排查问题。
链接地址:https://docs.docker.com/reference/cli/docker/container/logs/
里面有详细的记录
在命令行中运行 docker logs --help 时,它会显示有关 docker logs 命令的帮助信息,包括命令的语法、可用选项以及它们的说明。这个帮助信息可以帮助你理解和正确使用 docker logs 命令。
docker logs --help
显示全部的日志详情
使用 --details 选项后,docker logs 命令会在输出日志消息时包含以下元数据信息:
docker logs 默认就是 --details
docker logs --details 32ed2147d371
docker logs 32ed2147d371
–tail 是 Docker Logs 命令的一个选项,用于限制显示容器日志的行数。通过指定 --tail 后面的数字参数,你可以只显示最后几行的日志内容。
-n和–tail效果一样
docker logs --tail 3 29e77cf8e4af
docker logs -n 3 29e77cf8e4af
–follow 是 Docker Logs 命令的一个选项,用于实时跟踪容器的日志输出。当你在命令行中执行 docker logs --follow(或简写为 docker logs -f)时,它将以实时方式显示容器的日志,并持续输出新的日志内容。
docker logs --follow 29e77cf8e4af
docker logs -f 29e77cf8e4af
-t 是 Docker Logs 命令的一个选项,用于在日志输出中包含时间戳。当你在命令行中执行 docker logs -t 时,它会在每条日志消息前显示时间戳信息。
docker logs --tail 3 --timestamps 29e77cf8e4af
docker logs -n 3 -t 29e77cf8e4af
–since 是 Docker Logs 命令的一个选项,用于限制显示容器日志的起始时间。通过指定 --since 后面的时间参数,你可以只显示从指定时间点后生成的日志内容。
注意,时间参数可以使用多种格式,如 ISO 8601(例如:“2022-01-01T00:00:00”)、UNIX 时间戳、相对时间(例如:“1h ago” 表示一小时前)等。
// 查看从2024-03-28T11:43:00.015后的日志
docker logs --since='2024-03-28T11:43:00.015' 29e77cf8e4af
// 查看最近5分钟的日志
docker logs --since='5m' 29e77cf8e4af
–until 是 Docker Logs 命令的一个选项,用于限制显示容器日志的结束时间。通过指定 --until 后面的时间参数,你可以只显示在指定时间点之前生成的日志内容
注意,时间参数可以使用多种格式,如 ISO 8601(例如:“2022-01-01T00:00:00”)、UNIX 时间戳、相对时间(例如:“1h ago” 表示一小时前)等。
显示到2024-03-28 11:25:55为止的日志
docker logs --until='2024-03-28 11:25:55' 29e77cf8e4af
显示5分钟前的日志
docker logs --until='5m' 29e77cf8e4af
docker logs 命令本身并不支持直接使用 grep 进行过滤。然而,你可以通过结合使用管道(|)和 grep 命令来在 Docker 日志中进行文本匹配和过滤。
docker logs 29e77cf8e4af | grep '2024-03-28 11:25:58'
docker logs 29e77cf8e4af | grep 2024 | grep 03 | grep 184
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -3 '2024-03-28 11:25:58.184'
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -C 3 '2024-03-28 11:25:58.184'
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -A 3 -B 3 '2024-03-28 11:25:58.184'
# 打印匹配行的后3行
docker logs 29e77cf8e4af | grep -A 3 '2024-03-28 11:25:58.184'
# 打印匹配行的前3行
docker logs 29e77cf8e4af | grep -B 3 '2024-03-28 11:25:58.184'
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -3 ‘2024-03-28 11:25:58.184’
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -C 3 ‘2024-03-28 11:25:58.184’
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -A 3 -B 3 ‘2024-03-28 11:25:58.184’
# 打印匹配行的后3行
docker logs 29e77cf8e4af | grep -A 3 ‘2024-03-28 11:25:58.184’
# 打印匹配行的前3行
docker logs 29e77cf8e4af | grep -B 3 ‘2024-03-28 11:25:58.184’
# 查询指定时间范围内的日志信息 # 注意一定要按docker logs --help 中的说明的时间格式,格式是:2024-03-28T11:43:00.015这种 docker logs --since="2024-03-28T11:43:00.015" --until="2024-03-28T11:44:00.015" 29e77cf8e4af # 查询最近30分钟内的日志 docker logs --since 30m 29e77cf8e4af # 查询最近30分钟前的日志 docker logs --until 30m 29e77cf8e4af # 实时查看最近的100条日志信息(很常用) docker logs -f --tail 100 29e77cf8e4af # 从日志中查找指定的内容(可以有多个grep) docker logs 29e77cf8e4af | grep '关键字' # 从日志中查找指定的内容 -> 多个grep 先查找出包含2024的,再从中查找包含03,最后再查找包含184的 docker logs 29e77cf8e4af | grep 2024 | grep 03 | grep 184 # 查询指定时间范围内的日志,并且包含特定的字符 docker logs --since="2024-03-28T13:00:00" --until="2024-03-28T14:00:00" 29e77cf8e4af |grep -30 '关键字'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。