ログ・ドライバー出力のカスタマイズ

ログ・オプションの 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 によってコンテナ名を変更した場合、ログ出力に新たな名前は反映されません。 ログでは、元々のコンテナ名を用いた出力が行われます。