本地文件日志驱动程序

local日志驱动程序捕获容器的stdout/stderr输出,并将它们写入针对性能和磁盘使用情况进行优化的内部存储。

默认情况下,local驱动程序为每个容器保留100MB的日志消息,并使用自动压缩来减小磁盘上的大小。100MB的默认值基于每个文件的20M默认大小和5个此类文件的默认计数(用于日志轮换)。

警告

local日志驱动程序使用基于文件的存储。这些文件旨在仅由Docker守护程序访问。使用外部工具与这些文件交互可能会干扰Docker的日志系统并导致意外行为,应避免。

用法

要将local驱动程序用作默认日志驱动程序,请在daemon.json文件中将log-driverlog-opt键设置为适当的值,该文件位于Linux主机的/etc/docker/或Windows Server的C:\ProgramData\docker\config\daemon.json中。有关使用daemon.json配置Docker的更多信息,请参阅daemon.json

以下示例将日志驱动程序设置为local并设置max-size选项。

{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}

重新启动Docker以使对新创建容器的更改生效。现有容器不会自动使用新的日志记录配置。

您可以使用--log-driver标志到docker container createdocker run为特定容器设置日志驱动程序。

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

请注意,local是bash保留关键字,因此您可能需要在脚本中引用它。

选项

local日志驱动程序支持以下日志记录选项

选项描述示例值
max-size日志在轮换之前最大大小。正整数加上表示度量单位的修饰符(kmg)。默认为20m。--log-opt max-size=10m
max-file可以存在的日志文件最大数量。如果轮换日志创建了多余的文件,则会删除最旧的文件。正整数。默认为5。--log-opt max-file=3
compress切换轮换日志文件的压缩。默认情况下启用。--log-opt compress=false

示例

此示例启动一个alpine容器,该容器最多可以有3个日志文件,每个文件不超过10兆字节。

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash