本地文件记录驱动程序

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

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

警告

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

用法

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

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