Запуск Кафки, как docker изображение - PullRequest
0 голосов
/ 28 марта 2020

если кто-то может мне помочь с этим, я был бы очень признателен, у меня есть изображение docker, на котором отображается кафка, где я притворяюсь, что у меня есть 3 брокера, и я хотел бы, чтобы больше ничего не создавалось, когда docker Контейнер создан, скрипт, который я должен вызвать kafka, будет выполнен, я пытался разными способами, используя команды CMD и ENTRYPOINT, но я не увенчался успехом, контейнер создан для меня, но скрипт не выполняется, я должен войти контейнер для его запуска

Dockerfile

FROM ubuntu

RUN apt-get update

RUN apt-get install -y openjdk-8-jdk

RUN apt-get install -y wget \
    && wget http://apache.rediris.es/kafka/2.4.0/kafka_2.12-2.4.0.tgz \
    && tar -xzf kafka_2.12-2.4.0.tgz \
    && rm -R kafka_2.12-2.4.0.tgz


#WORKDIR /home

RUN chmod +x /kafka_2.12-2.4.0

### COPY ###

COPY server-1.properties /kafka_2.12-2.4.0/config/

COPY server-2.properties /kafka_2.12-2.4.0/config/


#ADD runzk-kf.sh .

COPY runzk-kf.sh /usr/local/bin/runzk-kf.sh

#COPY runzk-kf.sh .
RUN chmod +x /usr/local/bin/runzk-kf.sh

EXPOSE 2181

EXPOSE 9092

EXPOSE 9093

EXPOSE 9094

CMD ./bin/bash

script

#!/bin/sh
# turn on bash's job control

set -m

### RUN Zookeper

./kafka_2.12-2.4.0/bin/zookeeper-server-start.sh /kafka_2.12-2.4.0/config/zookeeper.properties &

### RUN Kafka brokers ###

./kafka_2.12-2.4.0/bin/kafka-server-start.sh /kafka_2.12-2.4.0/config/server.properties &

./kafka_2.12-2.4.0/bin/kafka-server-start.sh /kafka_2.12-2.4.0/config/server-1.properties &

./kafka_2.12-2.4.0/bin/kafka-server-start.sh /kafka_2.12-2.4.0/config/server-2.properties &

Просмотреть весь код

1 Ответ

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

Извините, но, пожалуйста, не делайте этого.

  1. Docker изображения должны быть одной службой, а не 4. Используйте диаграммы Compose или MiniKube + Helm для организации нескольких.
  2. Не ясно, какие файлы свойств вы изменили для правильной работы.
  3. JDK 8 - это конец жизни, используйте 11 или 13, которые поддерживает Kafka.
  4. Просто используйте существующие Docker изображения. Если вы хотите что-то минимальное, лично я использую bitnami/kafka. Если вы хотите что-то более полнофункциональное, посмотрите репо Confluent на запуск 3 брокеров через Docker Compose.
...