日志详情 --details
docker logs 默认就是 --details
java
docker logs --details 容器id
docker logs 容器id
最后n行日志 -n --tail
--tail 是 Docker Logs 命令的一个选项,用于限制显示容器日志的行数。通过指定 --tail 后面的数字参数,你可以只显示最后几行的日志内容。-n和--tail效果一样
java
docker logs --tail 3 容器id
docker logs -n 3 容器id
实时日志输出 -f --follow
--follow 是 Docker Logs 命令的一个选项,用于实时跟踪容器的日志输出。当你在命令行中执行 docker logs --follow(或简写为 docker logs -f)时,它将以实时方式显示容器的日志,并持续输出新的日志内容。
java
docker logs --follow 容器id
docker logs -f 容器id
显示从某个时刻以来的日志 -since
--since 是 Docker Logs 命令的一个选项,用于限制显示容器日志的起始时间。通过指定 --since 后面的时间参数,你可以只显示从指定时间点后生成的日志内容。
注意,时间参数可以使用多种格式,如 ISO 8601(例如:"2022-01-01T00:00:00")、UNIX 时间戳、相对时间(例如:"1h ago" 表示一小时前)等。
java
// 查看从2024-03-28T11:43:00.015后的日志
docker logs --since='2024-03-28T11:43:00.015' 容器id
// 查看最近5分钟的日志
docker logs --since='5m' 容器id
显示指定时刻之前的日志 --until
--until 是 Docker Logs 命令的一个选项,用于限制显示容器日志的结束时间。通过指定 --until 后面的时间参数,你可以只显示在指定时间点之前生成的日志内容
注意,时间参数可以使用多种格式,如 ISO 8601(例如:"2022-01-01T00:00:00")、UNIX 时间戳、相对时间(例如:"1h ago" 表示一小时前)等。
java
显示到2024-03-28 11:25:55为止的日志
docker logs --until='2024-03-28 11:25:55' 容器id
显示5分钟前的日志
docker logs --until='5m' 容器id
日志过滤 grep
docker logs 命令本身并不支持直接使用 grep 进行过滤。然而,你可以通过结合使用管道(|)和 grep 命令来在 Docker 日志中进行文本匹配和过滤。
java
docker logs 容器id | grep '2024-03-28 11:25:58'
docker logs 容器id| grep 2024 | grep 03 | grep 184
打印匹配行的前后几行
java
# 打印匹配行的前后3行
docker logs 容器id| grep -3 '2024-03-28 11:25:58.184'
# 打印匹配行的前后3行
docker logs 容器id| grep -C 3 '2024-03-28 11:25:58.184'
# 打印匹配行的前后3行
docker logs 容器id| grep -A 3 -B 3 '2024-03-28 11:25:58.184'
# 打印匹配行的后3行
docker logs 容器id| grep -A 3 '2024-03-28 11:25:58.184'
# 打印匹配行的前3行
docker logs 容器id| grep -B 3 '2024-03-28 11:25:58.184'