自定义日志驱动输出
tag 日志选项用于指定标识容器日志消息的标签格式。默认情况下,系统使用容器 ID 的前 12 个字符。要覆盖此行为,请指定 tag 选项:
$ docker run --log-driver=fluentd --log-opt fluentd-address=myhost.local:24224 --log-opt tag="mailer"
Docker 支持一些特殊的模板标记,可用于指定标签值:
| 标记 | 描述 |
|---|---|
{{.ID}} |
容器 ID 的前 12 个字符。 |
{{.FullID}} |
完整的容器 ID。 |
{{.Name}} |
容器名称。 |
{{.ImageID}} |
容器镜像 ID 的前 12 个字符。 |
{{.ImageFullID}} |
容器的完整镜像 ID。 |
{{.ImageName}} |
容器所用镜像的名称。 |
{{.DaemonName}} |
Docker 程序的名称(docker)。 |
例如,指定 --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" 会生成如下格式的 syslog 日志行:
Aug 7 18:33:19 HOSTNAME hello-world/foobar/5790672ab6a0[9103]: Hello from Docker.在启动时,系统会设置标签中的 container_name 字段和 {{.Name}}。如果使用 docker rename 重命名容器,新名称不会反映在日志消息中。这些消息仍会使用原始的容器名称。