【发布时间】:2020-02-07 14:01:01
【问题描述】:
我对 docker 还很陌生。
我的问题是 - 我有一个多容器应用程序(zookeeper、kafka、生产者、消费者),我只想在 zookeeper 和 kafka 容器启动并运行后运行生产者和消费者容器。如何编辑 docker-compose 文件并实现它? kafka 容器需要大约 15 秒来设置和创建消费者收听的主题。我想在创建主题后运行消费者容器,以便我已经启动并运行了一个代理。提前致谢。
Docker 编写文件 -
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"]
【问题讨论】:
标签: python docker apache-kafka docker-compose dockerfile