©
This document uses PHP Chinese website manual Release
默认情况下,Docker 捕获所有容器的标准输出(和标准错误),并使用 JSON 格式将它们写入文件。JSON 格式用每个行的原点(stdout
或stderr
)及其时间戳注释。每个日志文件都包含只有一个容器的信息。
使用json-file
驱动程序作为默认日志记录驱动程序,设置log-driver
和log-opt
控件中的适当值的键。daemon.json
文件,该文件位于/etc/docker/
在linux主机上或C:\ProgramData\docker\config\daemon.json
在WindowsServer上。有关+配置Docker的更多信息,请使用daemon.json
,见+daemon.json...
下面的示例将日志驱动程序设置为json-file
并设置max-size
选择。
{ "log-driver": "json-file", "log-opts": { "max-size": "10m" }}
重新启动Docker以使更改生效。
属性设置特定容器的日志记录驱动程序。--log-driver
旗子docker create
或docker run
*
$ docker run \ -–log-driver json-file --log-opt max-size=10m \ alpine echo hello world
大json-file
日志驱动程序支持以下日志记录选项:
选项 | 描述 | 示例值 |
---|---|---|
最大尺寸 | 滚动前日志的最大大小。一个正整数加上一个代表测量单位(k,m或g)的修饰符。默认为-1(无限制)。 | --log-opt max-size = 10m |
最大文件 | 可以存在的最大日志文件数量。如果滚动日志会创建多余的文件,最旧的文件将被删除。只有在设置了最大尺寸时才有效。一个正整数。默认为1。 | --log-opt max-file = 3 |
标签 | 在启动Docker守护进程时适用。此守护程序将接受的与日志相关的标签的逗号分隔列表。用于高级日志标记选项。 | --log-opt labels = production_status,地理位置 |
约 | 在启动Docker守护进程时适用。这个守护程序将接受的与日志相关的环境变量的逗号分隔列表。用于高级日志标记选项。 | --log-opt env = os,客户 |
ENV正则表达式 | 与env类似且兼容。一个正则表达式来匹配与日志相关的环境变量。用于高级日志标记选项。 | --log-opt env-regex = ^(os | customer)。 |
注*如果
max-size
和max-file
都准备好了,docker logs
只返回最新日志文件中的日志行。
此示例启动一个alpine
容器,最多可以有3个日志文件,每个不大于10 MB。
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 alpine ash