我如何安装 运行 kafka 作为单独的 docker 映像而不是 Zookeeper
How could I install and run kafka as a separate docker image than Zookeeper
这是我用来安装 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"]
我最困惑的是我如何将两项服务作为单独的 images/containers 提供给 运行,但仍相互交互。
我也对如何将其设置为集群感到困惑。
如果可能的话,我宁愿不必使用 docker compose。
您可以使用 Docker network 并在图像之间使用 DNS 服务名称。
how I would set it up as a cluster
如果您不想使用 Compose,那么 docker run
仍然有效。或者使用 Terraform 或 Kubernetes/OpenShift
FWIW,我建议您使用现有的 Zookeeper 和 Kafka 镜像,而不是自己制作
这是我用来安装 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"]
我最困惑的是我如何将两项服务作为单独的 images/containers 提供给 运行,但仍相互交互。
我也对如何将其设置为集群感到困惑。 如果可能的话,我宁愿不必使用 docker compose。
您可以使用 Docker network 并在图像之间使用 DNS 服务名称。
how I would set it up as a cluster
如果您不想使用 Compose,那么 docker run
仍然有效。或者使用 Terraform 或 Kubernetes/OpenShift
FWIW,我建议您使用现有的 Zookeeper 和 Kafka 镜像,而不是自己制作