JSON文件日志记录驱动程序(引擎) | JSON File logging driver (Engine)
JSON文件日志驱动程序
默认情况下,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