当前位置: 首页 > 知识库问答 >
问题:

我怎样才能将 kafka 作为单独的 docker 镜像安装和运行,而不是 Zookeeper

朱和惬
2023-03-14

以下是我用来安装 zookeeper 的当前 Dockerfile ,然后在 CentOS 容器上运行它:

FROM centos:7

RUN yum -y --quiet install wget && yum -y --quiet install java-11-openjdk && yum -y --quiet autoremove && yum clean all  && rm -rf /var/cache/yum

RUN wget -q http://apache.forsale.plus/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
RUN tar -xzf zookeeper-3.4.14.tar.gz
RUN mv zookeeper-3.4.14 /opt/zookeeper
RUN cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg

EXPOSE 2181 2888 3888

WORKDIR /opt/zookeeper

VOLUME ["/opt/zookeeper/conf", "tmp/zookeeper"]

ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"]
CMD ["start-foreground"]

我最困惑的是我如何让两个服务作为单独的图像/容器运行,但仍然相互交互。https://stackoverflow.com/a/45111909/12585645

我也不知道如何将它设置为一个集群。如果可能的话,我宁愿不用docker compose。

共有1个答案

司马璞
2023-03-14

您将使用 Docker 网络并在映像之间使用 DNS 服务名称。

我如何将其设置为集群

如果您不想使用 Compose,那么 docker run 仍然有效。或者使用 Terraform 或 Kubernetes/OpenShift

FWIW,我建议你使用现有的动物园管理员和Kafka的图像,而不是滚动你自己的

 类似资料:
  • 所以简而言之,我想做的是让一个带有发光二极管和图形用户界面的arduino显示存储在一个不断更新的json文件中的信息(它来自一个叫做精英危险的游戏)。 所以我使用看门狗来查看文件何时更新,然后读取新信息。然后我想使用tkinter来显示信息,例如:盒子改变颜色 但是问题是,当我使用tkinter时,mainloop()会停止其余代码的运行(我假设这是因为它是一个无限循环)。我对编程还是很陌生的,

  • 场景z:Zaloguj u cinytkownika który zna swój login i have lo 我导入了所有注释: 导入cucumber.api.java.pl.Jez Eli; 导入cucumber.api.java.pl.oraz; 导入cucumber.api.java.pl.wtedy; 导入cucumber.api.java.pl.zakladaja c; 我的pom

  • 我正在阅读Kafka的文档,注意到下面一行: 但是,请注意,使用者组中的使用者实例不能多于分区。 嗯。如何自动缩放? 这是Kafka的限制但是...如果我理解这是如何工作的,那么两个用户组都将从一个分区(例如msg.hi)中提取,并使用它们自己的偏移量,因此两个用户组都不知道另一个分区--这意味着消息可能会被传递两次! 我怎样才能达到我在兔子设计中所拥有的Kafka的能力,并且仍然保持行为的“队列

  • 问题内容: 这是一个简单的ArrayList排序程序: 我期望该程序的输出为: 但是当我运行该程序时,我得到的输出为: 为什么会这样?如何使ArrayList进行排序,如预期输出所示? 问题答案: 您可以编写一个自定义比较器:

  • 在Kafka-manager github页面中写道: 最低配置是用于kafka管理器状态的zoo门主机。这可以在conf目录的application.conf文件中找到。相同的文件将打包在分发zip文件中;您可以在所需服务器上解压缩文件后修改设置。 Kafka-manager . ZK hosts = " my . zookeeper . host . com:2181 "您可以通过逗号分隔来指

  • 本文向大家介绍Docker镜像构建原理解析(不装docker也能构建镜像),包括了Docker镜像构建原理解析(不装docker也能构建镜像)的使用技巧和注意事项,需要的朋友参考一下 在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image。 docker client 会先检查本地有没有image,如果没有