【问题标题】:Include Kafka and Zookeeper in Docker在 Docker 中包含 Kafka 和 Zookeeper
【发布时间】: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/zookeeperwurstmeister/kafka

标签: docker apache-kafka apache-zookeeper spotify


【解决方案1】:

使用docker-compose 文件怎么样?

在您的 *.yaml 中,您可以设置服务以从 Spotify 的 DockerHub 中提取 Kafka 和 Zookeeper 图像,映射端口(例如,ZK 和 Kafka 分别为“2181:2181”和“9092:9092”),设置ENV 变量,并将数据持久化到卷中,这样您就不会丢失主题和偏移量。

【讨论】:

    猜你喜欢
    • 2017-10-13
    • 2019-03-23
    • 1970-01-01
    • 2021-04-24
    • 2018-01-11
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多