2017-11-22 4 views
0

The docs CP-飼育係、およびCP-カフカ画像は、環境変数を介して構成されている状態。環境変数の代わりにプロパティファイルを使用してコンフルエントなドッカーイメージを起動/設定することはできますか?

ZooKeeperイメージでは、Zookeeper.propertiesファイルに表示される変数とまったく同じように変数が示されています。例として、CLIENTPORT、tickTimeを設定し、syncLimit以下のコマンドを実行します

docker run -d \ 
--net=host \ 
--name=zookeeper \ 
-e ZOOKEEPER_CLIENT_PORT=32181 \ 
-e ZOOKEEPER_TICK_TIME=2000 \ 
-e ZOOKEEPER_SYNC_LIMIT=2 
confluentinc/cp-zookeeper:3.3.1 

私はzookeeper.properties(カフカのためのserver.properties)を提供することを好むの代わりZOOKEEPER_ *を指定する(KAFKA_ *)環境変数。これは何とか可能ですか?

"非コンフルエントな" kafkaの私の現在の設定では、単に/ etc/kafkaのプロパティを含むconfigボリュームをマウントし、それを使ってkafkaを起動しますが、confluent docker imagesを見ると、これは動作しませんコンテナ内のプロパティを生成するために、いくつかの特別なテンプレートマジックが行われているからです。

答えて

1

コマンドラインですべての環境変数を入力するのではなく、--env-fileスイッチをdockerコマンドで使用して、説明することができます。例えば

、あなたが最初のはkafka.propertiesを言わせて、ファイルへのご所望の特性を保存する場合:あなたが実行してカフカコンテナを開始することができ

KAFKA_ZOOKEEPER_CONNECT=localhost:32181 
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092 
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 

docker run -d --net=host --name=kafka --env-file ./kafka.properties confluentinc/cp-kafka:3.3.1

それでも、プロパティー・キーの名前は、各ドッカー・イメージが期待しているものと一致する必要があります(各ドッカー・イメージが実行されたときに、それぞれのサービス・プロパティーにレンダリングされていることがわかります)。

関連する問題