docker 容器日志

描述获取容器的日志
用法docker container logs [OPTIONS] CONTAINER
别名
docker logs

描述

docker logs 命令批量检索执行时存在的日志。

有关选择和配置日志驱动程序的更多信息,请参阅 配置日志驱动程序

docker logs --follow 命令将继续从容器的 STDOUTSTDERR 流式传输新输出。

--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 时间戳时,请输入秒[.纳秒],其中秒是自 1970 年 1 月 1 日(UTC/GMT 午夜)以来经过的秒数,不计算闰秒(即 Unix 纪元或 Unix 时间),可选的 .纳秒字段是不超过九位数字的秒的小数部分。您可以将 --since 选项与 --follow--tail 选项中的任一个或两个结合使用。

选项

选项默认描述
--details显示提供给日志的额外详细信息
-f, --follow跟随日志输出
--since显示自时间戳以来的日志(例如2013-01-02T13:23:37Z) 或相对 (例如42m持续 42 分钟)
-n, --tailall从日志末尾显示的行数
-t, --timestamps显示时间戳
--untilAPI 1.35+显示某个时间戳之前的日志 (例如2013-01-02T13:23:37Z) 或相对 (例如42m持续 42 分钟)

示例

检索直到特定时间点的日志 (--until)

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

$ 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