docker container logs

获取容器的日志。

用法

docker container logs [OPTIONS] CONTAINER

别名

别名是较长命令的简短或易于记忆的替代形式。

  • docker logs

docker logs 命令会批量检索执行时存在的日志。 有关选择和配置日志驱动程序的更多信息,请参阅配置日志驱动程序

  • docker logs --follow 命令将持续流式传输容器 STDOUT 和 STDERR 的新输出。

  • --tail 传递一个负数或非整数值是无效的,此时该值会被设为 all

  • docker logs --timestamps 命令会为每条日志条目添加一个 RFC3339Nano 时间戳,例如 2014-09-16T06:17:46.000000000Z。为确保时间戳对齐,必要时会用零填充时间戳的纳秒部分。

  • docker logs --details 命令会添加在创建容器时通过 --log-opt 提供的额外属性,例如环境变量和标签。

  • --since 选项仅显示在给定日期之后生成的容器日志。你可以将日期指定为 RFC 3339 日期、UNIX 时间戳或 Go 持续时间字符串(例如 1m30s3h)。除了 RFC3339 日期格式外,你还可以使用 RFC3339Nano、2006-01-02T15:04:052006-01-02T15:04:05.9999999992006-01-02T07:002006-01-02。如果你没有在时间戳末尾提供 Z+-00:00 时区偏移量,则会使用客户端的本地时区。提供 Unix 时间戳时,请输入 seconds[.nanoseconds],其中 seconds 是自 1970 年 1 月 1 日(UTC/GMT 午夜)以来经过的秒数(不计算闰秒)(也称为 Unix 纪元或 Unix 时间),可选的 .nanoseconds 字段是不超过九位数字的秒的小数部分。

  • 你可以将 --since 选项与 --follow--tail 选项中的一个或两个结合使用。

  • API 1.35+--until 选项显示在给定时间戳之前生成的日志(例如 2013-01-02T13:23:37Z)或相对时间(例如 42m 表示 42 分钟)。

为了在特定时间点之前检索日志,请运行:

$ docker run --name test -d busybox sh -c "while true; do $(echo date); sleep 1; done"
$ date
Tue 14 Nov 2017 16:40:00 CET
$ docker logs -f --until=2s test
Tue 14 Nov 2017 16:40:00 CET
Tue 14 Nov 2017 16:40:01 CET
Tue 14 Nov 2017 16:40:02 CET

选项

选项
默认值
描述

--details

显示提供给日志的额外详细信息

-f, --follow

跟踪日志输出

--since

显示自某个时间戳(例如 2013-01-02T13:23:37Z)或相对时间(例如 42m 表示 42 分钟)以来的日志

-n, --tail

all

从日志末尾显示的行数

-t, --timestamps

显示时间戳

--until

API 1.35+ 显示在某个时间戳(例如 2013-01-02T13:23:37Z)或相对时间(例如 42m 表示 42 分钟)之前的日志

最后更新于

这有帮助吗?