Я довольно новичок в докере.
Моя проблема в том, что у меня есть мультиконтейнерное приложение (zookeeper, kafka, производитель, потребитель), в котором я хочу запускать контейнеры производителя и потребителя только послеконтейнеры zookeeper и kafka запущены и работают. Как отредактировать файл docker-compose и добиться этого? Контейнеру kafka требуется около 15 секунд для настройки и создания темы, которую слушает потребитель. Я хочу запустить потребительский контейнер после создания темы, чтобы у меня уже был запущен брокер. Заранее спасибо.
Файл Docker-compose -
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- 2181:2181
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- 9092:9092
environment:
- KAFKA_ADVERTISED_HOST_NAME=someserver
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- "KAFKA_CREATE_TOPICS=test:1:1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
consumer:
build:
context: .
dockerfile: Dockerfile
container_name: consumer
depends_on:
- kafka
- zookeeper
Dockerfile -
FROM python
RUN pip install kafka-python
RUN pip install pandas
COPY . /src
CMD ["python", "/src/consumer.py"]