swarm + fluentdを試していた時にちょっとつまづいたのでメモ。
予めfluentのサービスを起動
$ docker service create --name logger -p 24224:24224 fluent/fluentd
続けてnginxを起動
$ docker service create --name nginx -p 80:80 \
--replicas 2 --log-driver=fluentd \
--log-opt=fluentd-address=localhost:24224 nginx
fluentdにログが集約されるはずが、記録されていない。
こちらの情報によると、NAT64がサポートされていない模様。
127.0.0.1に書き換えてみる。
変更後
$ docker service create --name nginx -p 80:80 \
--replicas 2 --log-driver=fluentd \
--log-opt=fluentd-address=127.0.0.1:24224 nginx
正常に記録されるようになった。
参考文献