自定义日志驱动程序输出

log选项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重命名容器,则新名称不会反映在日志消息中。相反,这些消息继续使用原始容器名称。