ログ・ドライバー出力のカスタマイズ¶
ログ・オプションの 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
によってコンテナ名を変更した場合、ログ出力に新たな名前は反映されません。
ログでは、元々のコンテナ名を用いた出力が行われます。
参考
- Customize log driver output
- https://docs.docker.com/config/containers/logging/log_tags/