【发布时间】:2023-03-06 23:24:01
【问题描述】:
我需要使用 Kafka 和 Zookeeper 为涉及流数据的项目制作 Docker 容器。环顾四周,我找到了来自 Spotify 的 this docker 图像,包括 Kafka 和 Zookeeper。
我应该如何将它包含在我的项目中?我应该在 Dockerfile 中包含下面列出的建议命令吗?
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
【问题讨论】:
-
您必须解释在您的项目中“包含”Kafka 和 Zookeeper 是什么意思。无论哪种方式 - 这些都是 shell 命令(用于启动 Dockerised Kafka 和 ZK),而不是 Dockerfile 指令。
-
非常感谢!我需要直播一些数据,我的计划是使用 Kafka 和 Zookeeper。我正在尝试找出容器化 Kafka 和 Zookeeper 的最佳方式。
-
好的——根据你的链接,Spotify 已经将它们容器化了。您可以通过运行上面的
docker run命令使用他们的图像,但是您如何执行this(不仅仅是在终端中输入)取决于什么语言/框架/您正在使用的项目设置... -
spotify 图像严重过时。我不建议这样做
-
@cricket_007 很好发现。我最终使用了
wurstmeister/zookeeper和wurstmeister/kafka
标签: docker apache-kafka apache-zookeeper spotify