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

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

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

警告

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

用法

要使用localdriver 作为默认的日志记录驱动程序,将log-driverlog-optkeys 添加到daemon.json文件,即 位于/etc/docker/在 Linux 主机上或C:\ProgramData\docker\config\daemon.json在 Windows Server 上。有关 使用 配置 Dockerdaemon.json,请参阅 daemon.json

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

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

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

您可以使用--log-driverflag 设置为docker container createdocker run:

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

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

选项

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

选择描述示例值
max-size日志滚动之前的最大大小。一个正整数加上一个表示度量单位 (k,mg).默认为 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

APP信息