©
This document uses PHP Chinese website manual Release
大tag
选项指定如何格式化标识容器日志消息的标记。默认情况下,系统使用容器id的前12个字符。若要重写此行为,请指定tag
备选方案:
$ docker run --log-driver=fluentd --log-opt fluentd-address=myhost.local:24224 --log-opt tag="mailer"
Docker支持在指定标记值时可以使用的一些特殊模板标记:
标记 | 描述 |
---|---|
{{.ID}} | 容器标识的前12个字符。 |
{{.FullID}} | 完整的容器ID。 |
{{.Name}} | 容器名称。 |
{{.ImageID}} | 容器的图像ID的前12个字符。 |
{{}} .ImageFullID | 容器的完整图像标识符。 |
{{}} .ImageName | 容器使用的图像的名称。 |
{{.DaemonName}} | 码头程序(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
若要重命名容器,新名称不会反映在日志消息中。相反,这些消息继续使用原始容器名称。
对于高级用法,生成的标记的使用GO模板容器的日志上下文...
作为Syslog日志记录器可能实现的一个示例,如果您使用以下命令,您将得到如下输出:
$ docker run -it --rm \ --log-driver syslog \ --log-opt tag="{{ (.ExtraAttributes nil).SOME_ENV_VAR }}" \ --log-opt env=SOME_ENV_VAR \ -e SOME_ENV_VAR=logtester.1234 \ flyinprogrammer/logtester
Apr 1 15:22:17 ip-10-27-39-73 logtester.1234[45499]: + exec app Apr 1 15:22:17 ip-10-27-39-73 logtester.1234[45499]: 2016-04-01 15:22:17.075416751 +0000 UTC stderr msg: 1