在 Docker 中包含 Kafka 和 Zookeeper
Include Kafka and Zookeeper in Docker
我需要为涉及使用 Kafka 和 Zookeeper 的流数据的项目创建一个 Docker 容器。环顾四周,我发现 this docker 图片来自 Spotify,包括 Kafka 和 Zookeeper。
我应该如何将它包含在我的项目中?我是否应该在 Docker 文件中包含下面列出的建议命令?
docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 spotify/kafka
export KAFKA=`docker-machine ip \`docker-machine active\``:9092
kafka-console-producer.sh --broker-list $KAFKA --topic test
export ZOOKEEPER=`docker-machine ip \`docker-machine active\``:2181
kafka-console-consumer.sh --zookeeper $ZOOKEEPER --topic test
使用 docker-compose 文件怎么样?
在您的 *.yaml 中,您可以设置服务以从 Spotify 的 DockerHub 拉取 Kafka 和 Zookeeper 图像,映射端口(例如,分别用于 ZK 和 Kafka 的“2181:2181”和“9092:9092”) ,设置 ENV 变量,并将数据保存到卷中,这样您就不会丢失主题和偏移量。
我需要为涉及使用 Kafka 和 Zookeeper 的流数据的项目创建一个 Docker 容器。环顾四周,我发现 this docker 图片来自 Spotify,包括 Kafka 和 Zookeeper。
我应该如何将它包含在我的项目中?我是否应该在 Docker 文件中包含下面列出的建议命令?
docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 spotify/kafka
export KAFKA=`docker-machine ip \`docker-machine active\``:9092
kafka-console-producer.sh --broker-list $KAFKA --topic test
export ZOOKEEPER=`docker-machine ip \`docker-machine active\``:2181
kafka-console-consumer.sh --zookeeper $ZOOKEEPER --topic test
使用 docker-compose 文件怎么样?
在您的 *.yaml 中,您可以设置服务以从 Spotify 的 DockerHub 拉取 Kafka 和 Zookeeper 图像,映射端口(例如,分别用于 ZK 和 Kafka 的“2181:2181”和“9092:9092”) ,设置 ENV 变量,并将数据保存到卷中,这样您就不会丢失主题和偏移量。