本地文件日志驱动
目录
local 日志驱动捕获容器的 stdout/stderr 输出,
并将其写入针对性能和磁盘使用优化的内部存储。
默认情况下,local 驱动程序为每个容器保留 100MB 的日志消息,并使用自动压缩来减少磁盘占用。100MB 的默认值是基于每个文件 20MB 的默认大小和此类文件数量为 5 的默认计数(以考虑日志轮换)。
警告
local日志驱动程序使用基于文件的存储。这些文件被设计为仅由 Docker 守护进程访问。使用外部工具与这些文件交互可能会干扰 Docker 的日志系统并导致意外行为,因此应避免此类操作。
用法
要将 local 驱动程序用作默认日志驱动程序,请在 daemon.json 文件中将 log-driver 和 log-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 create 或 docker run 来设置特定容器的日志驱动程序:
$ docker run \
--log-driver local --log-opt max-size=10m \
alpine echo hello world
请注意,local 是一个 bash 保留关键字,因此在脚本中可能需要用引号将其括起来。
选项
local 日志驱动程序支持以下日志选项:
| 选项 | 描述 | 示例值 |
|---|---|---|
max-size | 日志滚动前的最大大小。一个正整数加上一个表示单位的修饰符(k、m 或 g)。默认为 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