ログドライバー出力のカスタマイズ
ログオプションのtag
は、コンテナーのログ出力を識別するためのタグを、どのような書式で出力するかを指定します。
デフォルトでは、コンテナー ID の先頭 12 文字を用います。
この動作を上書きするにはtag
オプションを使います。
$ docker run --log-driver=fluentd --log-opt fluentd-address=myhost.local:24224 --log-opt tag="mailer"
タグの値を指定する際には、特別なテンプレートマークアップの指定がサポートされています。
マークアップ | 内容説明 |
---|---|
{{.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
によってコンテナー名を変更した場合、ログ出力に新たな名前は反映されません。
ログでは、元々のコンテナー名を用いた出力が行われます。