私はdocker-compose
ファイルにいくつかのサービスコンテナ定義を持っています。サービスの1つは、同じドッカーの作成実行内でApache Kafka
と通信します。ドッカーコンテナ内のIPアドレスを特定する
だから私はこのようなカフカのドッキングウィンドウの定義を持っている:
kafka:
image: spotify/kafka
ports:
- "2181:2181"
- "9092:9092"
environment:
ADVERTISED_HOST: 127.0.0.1
ADVERTISED_PORT: 9092
私は同じドッキングウィンドウ・コンポーズファイルで私のサービス定義を持っています。サービスのスタートアップスクリプトでは、カフカインスタンスのIPアドレスを何とか把握しなければなりません。
私はdocker inspect
のようなものを使用して、どのIPアドレスがコンテナによって使用されているかを知ることができます。
しかし、どのようにしてドッカー作成環境で動的に行うことができますか?
EDITは
ので、右の設定がなければなりません(、@nwinklerありがとう):
kafka:
image: spotify/kafka
ports:
- "2181:2181"
- "9092:9092"
environment:
ADVERTISED_HOST: kafka
ADVERTISED_PORT: 9092
myservice:
image: foo
links:
- kafka:kafka
(または、あなたのカフカの命名方法ADVERTISED_HOST
kafka
に設定することを忘れないでください 容器はdocker-compose
以内)。
ホスト名として 'kafka'を使用して、' kafka'コンテナに接続できるはずです。 – tkausl