Docker CLI docker logs 常用命令

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker logs 常用命令。

1、docker logs 简介

docker logs用于获取容器日志。docker logs命令批量检索执行时的日志。

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

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

传递负数或非整数给--tail是无效的,在这种情况下,值会被设置为all

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

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

--since选项只显示指定日期之后生成的容器日志。可以将日期指定为RFC 3339日期、UNIX时间戳或Go持续时间字符串(例如1m30s3h)。除了RFC3339日期格式,也可以使用RFC3339 nano, 2006-01-02T15:04:05, 2006-01-02T15:04:05.999999999, 2006-01-02Z07:002006-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))

推荐阅读
cjavapy编程之路首页