Как я могу установить и запустить kafka как отдельный docker образ, чем Zookeeper - PullRequest
0 голосов
/ 06 марта 2020

Вот текущий Dockerfile, который я использую для установки zookeeper, а затем запуска его в контейнере 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"]

Что меня больше всего смущает, так это то, как я могу заставить две службы работать как отдельные образы / контейнеры и все же взаимодействуют друг с другом. { ссылка }

Я также не совсем понимаю, как бы настроить его как кластер. Я бы предпочел не использовать docker compose, если это возможно.

1 Ответ

0 голосов
/ 06 марта 2020

Вы должны использовать Docker сеть и использовать имена служб DNS между изображениями.

как я бы настроил его как кластер

Если вы не хотите использовать Compose, то docker run все еще работает. Или используйте Terraform или Kubernetes / OpenShift


FWIW, я предлагаю вам использовать существующие изображения Zookeeper и Kafka, а не катать свои собственные

...