本地文件日志驱动程序

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 以使更改对新创建的容器生效。现有容器不会自动使用新的日志记录配置。

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

$ 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 MB。

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.