默认情况下,Docker 会捕获所有容器的标准输出(和标准错误),并使用 JSON 格式将它们写入文件中。JSON 格式用其原点 (stdout或stderr) 及其时间戳对每一行进行注释。每个日志文件仅包含有关一个容器的信息。
{"log":"Log line is here\n","stream":"stdout","time":"2019-01-01T11:11:11.111111111Z"}
用法
要将json-file驱动程序用作默认日志记录驱动程序,请将log-driver 和log-opts键设置为daemon.json文件中的适当值,该文件位于/etc/docker/Linux 主机或 C:\ProgramData\docker\config\Windows 服务器上
以下示例将日志驱动程序json-file设置为并设置max-size 和max-file选项以启用自动日志轮换。
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重新启动 Docker 以使更改对新创建的容器生效。现有容器不使用新的日志记录配置。
您可以通过设置特定容器记录驾驶员 --log-driver标志docker container create或docker run:
$ docker run \
--log-driver json-file --log-opt max-size=10m \
alpine echo hello world
选项
该json-file日志驱动程序支持以下日志记录选项:
例子
此示例启动一个alpine容器,该容器最多可包含 3 个日志文件,每个文件不超过 10 兆字节。
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 alpine ash