?
This document uses PHP Chinese website manual Release
大tag
選項指定如何格式化標識容器日志消息的標記。默認情況下,系統(tǒng)使用容器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.
啟動時,系統(tǒng)將container_name
字段和{{.Name}}
在標簽上。如果你用docker rename
若要重命名容器,新名稱不會反映在日志消息中。相反,這些消息繼續(xù)使用原始容器名稱。
對于高級用法,生成的標記的使用GO模板容器的日志上下文...
作為Syslog日志記錄器可能實現(xiàn)的一個示例,如果您使用以下命令,您將得到如下輸出:
$ 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