本地文件日志记录驱动程序

logging 驱动程序捕获容器的 stdout/stderr 和 将它们写入针对性能和磁盘进行优化的内部存储 用。local

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

警告

日志记录驱动程序使用基于文件的存储。这些文件是设计的 以独占方式由 Docker 守护程序访问。与这些文件交互 使用外部工具可能会干扰 Docker 的日志记录系统,并导致 意外行为,应避免。local

用法

要将驱动程序用作默认日志记录驱动程序,请在文件中将 和 键设置为适当的值,即 位于 Linux 主机或 Windows Server 上。有关 使用 配置 Docker,请参阅 daemon.jsonlocallog-driverlog-optdaemon.json/etc/docker/C:\ProgramData\docker\config\daemon.jsondaemon.json

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

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

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

您可以通过使用标志 to 或 来为特定容器设置日志记录驱动程序:--log-driverdocker container createdocker run

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

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

选项

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

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

例子

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

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