ログ用のタグ

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}} コンテナが使っているイメージ名

例えば、 --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" 値を指定すると、 syslog のログ行は次のようになります。

Aug  7 18:33:19 HOSTNAME docker/hello-world/foobar/5790672ab6a0[9103]: Hello from Docker.

起動時に、システムは container_name フィールドと {{.Name}} をタグに設定します。 docker rename でコンテナ名を変更しても、ログメッセージに新しいコンテナ名は反映されません。そのかわり、これらのメッセージは元々のコンテナ名を使って保存され続けます。

高度な使い方は、 go テンプレート のタグ生成や、コンテナの ログ内容 をご覧ください。

注釈

ドライバがログのオプション syslog-tagfluentd-taggelf-tag を指定しても後方互換性があります。ですが、これらの代わりに、標準化のため一般的な tag ログ・オプションを使うべきです。

参考

Log tags for logging driver
https://docs.docker.com/engine/admin/logging/log_tags/