1、docker logs 简介
docker logs
用于获取容器日志。docker logs
命令批量检索执行时的日志。
有关选择和配置日志驱动程序的更多信息,请参见配置日志驱动程序。
docker logs --follow
命令将继续从容器的STDOUT
和STDERR
中流式输出新的输出。
传递负数或非整数给--tail
是无效的,在这种情况下,值会被设置为all
。
docker logs --timestamps
命令会为每条日志添加一个RFC3339Nano时间戳,例如 2014-09-16T06:17:46.000000000Z
。为确保时间戳对齐,时间戳的纳秒级部分将在必要时填充0
。
docker logs --details
命令会添加额外的属性,比如创建容器时提供给--log-opt
的环境变量和标签。
--since
选项只显示指定日期之后生成的容器日志。可以将日期指定为RFC 3339日期、UNIX时间戳或Go持续时间字符串(例如1m30s
、3h
)。除了RFC3339日期格式,也可以使用RFC3339 nano, 2006-01-02T15:04:05
, 2006-01-02T15:04:05.999999999
, 2006-01-02Z07:00
和2006-01-02
。如果没有在时间戳末尾提供Z
或+-00:00
的时区偏移,客户端将使用本地时区。在提供Unix时间戳时,输入秒[nanoseconds]。其中,seconds是自1970年1月1日(UTC/GMT午夜)以来经过的秒数,不包括闰秒(即Unix纪元或Unix时间),可选的。字段是不超过9位的秒的一小部分。可以将--since
选项与--follow
或--tail
选项中的一个或两个结合使用。
2、docker logs 语法
docker logs [OPTIONS] CONTAINER
参考文档:https://docs.docker.com/engine/reference/commandline/logs/
3、docker logs 命令
1)检索日志直到特定的时间点(--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
4、选项说明
命令 | 描述 | |
--details | 显示日志提供的额外详细信息 | |
--follow , -f | 跟踪日志输出 | |
--since | 显示自时间戳以来的日志(例如, 2013-01-02T13:23:37Z ) 或 相对的 (例如, 42m( 42 minutes)) | |
--tail , -n | all | 从日志末尾开始显示的行数 |
--timestamps , -t | 显示时间戳 | |
--until | 在时间戳之前显示日志 (例如, 2013-01-02T13:23:37Z ) 或 相对的 (例如, 42m( 42 minutes)) |