web-dev-qa-db-ja.com

docker-composeを使用してロギング用のコンテナをアドレス指定する方法

docker-compose.ymlで説明されているコンテナーは、ロギング拡張機能を使用して、fluentdコンテナーにログを送信します。

version: "2"

services:

  fluentd:
    image: fluent/fluentd:v0.14.8
    container_name: fluentd

  nginx:
    image: nginx:1.11.5
    container_name: nginx
    links:
      - fluentd
    logging:
      driver: fluentd
      options:
        fluentd-address: fluentd:24224

ただし、fluentd-addressはnginxコンテナ内からではなく、ホスト(別名ホスト)によって外部から認識されるため、この構成は機能しません。

したがって、コンテナの外部にあるコンテナのIPアドレスを知る方法が必要ですが、docker-composeと互換性のある方法で、何か考えはありますか?

1
Kartoch

最新のdocker-composeはリンクでは機能しないため、dockerネットワークを使用する必要があります。

そして実際には、fluentd-addressを省略できます。これは、fluentdログドライバーが24224でリッスンしているものを自動検出するためです。

バージョン: "2" 
 services:
 fluentd:
 image:fluent/fluentd:v0.14.8 
 container_name:fluentd 
ネットワーク:
-nw-01 
 
 nginx:
画像:nginx:1.11.5 
 container_name:nginx 
ネットワーク:
-nw-01 
ロギング:
ドライバー:fluentd 
ネットワーク:
 nw-01:
外部:true 
3
neveragny