Docker が Zookeeper と Kafka をビルドする

docker run -d --restart=always --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
--env KAFKA_HEAP_OPTS=-Xmx256M \
--env KAFKA_HEAP_OPTS=-Xms128M \
-e KAFKA_ZOOKEEPER_CONNECT=172.28.99.11:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://47.92.110.110:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
wurstmeister/kafka:2.13-2.7.0

172.28.99.11 はイントラネット IP です

47.92.125.10 は外部ネットワーク IP です。kafka のアドレス ポートを Zookeeper に登録します。ローカル リモート アクセスの場合は、外部ネットワーク IP に変更する必要があります。たとえば、Java プログラム アクセスは接続できません。

#コンテナに入ってトピックを作成する

docker exec -it 容器ID /bin/bash
cd /opt/kafka/bin

ls

利用可能なトピックを確認する

./kafka-topics.sh --list --zookeeper 172.28.99.11:2181

 トピックを作成する

./kafka-topics.sh --create --zookeeper 172.28.99.11:2181 --replication-factor 1 --partitions 1 --topic test-topic

メッセージを送信するプロデューサーを作成する

./kafka-console-producer.sh --broker-list 172.28.99.11:9092 --topic test-topic

別のウィンドウを開いてコンシューマを実行します

docker exec -it パブリック ID /bin/bash

cd /opt/kafka/bin

./kafka-console-consumer.sh --bootstrap-server 172.28.99.11:9092 --from-beginning --topic test-topic

プロデューサがメッセージを送信すると、コンシューマはメッセージを受信できます。

おすすめ

転載: blog.csdn.net/wokoone/article/details/127765274