gpt4 book ai didi

docker - 使用Docker找不到Kafka和Zookeeper脚本

转载 作者:行者123 更新时间:2023-12-02 19:03:10 27 4
gpt4 key购买 nike

详细信息:我正在尝试使用本文末尾附带的docker-compose.yml文件运行wurstmeister/kafkawurstmeister/zookeeper图像。

为了测试容器,我遵循了official site of kafka。它引用图像中不可用的某些脚本,例如bin/kafka-server-start.sh。我还尝试使用docker exec -it zookeeper bashdocker exec -it kafka bash遍历容器,并在/bin/目录中找到zkServer.sh和其他一些脚本。

问题:问题是我不知道如何使用它,因为config / server.properties是在kafka容器中可用的,而不是zookeeper。所以我不知道适当的解决方案。下载脚本并将其放在主机目录中并将它们复制到容器中是否是一个好的解决方案?

docker-compose.yml

version:'2'

services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"

kafka:
build: .
container_name: kafka
links:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_OPTS: -javaagent:/usr/app/jmx_prometheus_javaagent.jar=7071:/usr/app/prom-jmx-agent-config.yml
volumes:
- /var/run/docker.sock:/var/run/docker.sock

Dockerfile
FROM wurstmeister/kafka

ADD prom-jmx-agent-config.yml /usr/app/prom-jmx-agent-config.yml
ADD jmx_prometheus_javaagent-0.10.jar /usr/app/jmx_prometheus_javaagent.jar

最佳答案

您不必使用bin/kafka-server-start.sh脚本。 start-kafka.sh图像中有一个名为wurstmeister/kafka的脚本。这是我在一个项目中的工作方式:

docker-compose.yml

zookeeper:
container_name: zookeper
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
kafka:
container_name: kafka
build:
context: .
dockerfile: kafka.Dockerfile
image: kafka-service
ports:
- "9092:9092"

kafka.Dockerfile
FROM wurstmeister/kafka:2.11-2.0.0
COPY wait-for-it.sh /wait-for-it.sh
RUN chmod +x /wait-for-it.sh
CMD ["/wait-for-it.sh", "zookeper:2181", "--", "start-kafka.sh"]

在dockerfile中,我基本上是这样说的:“等一下动物园管理员,他必须先站起来,然后您可以开始,然后在他之后,运行 start-kafka.sh”。您可以在此处下载wait-for-it.sh脚本: https://github.com/vishnubob/wait-for-it/blob/master/wait-for-it.sh

PS:您可以使用以下命令查看任何图像的基本信息:
docker inspect <image-name>

关于docker - 使用Docker找不到Kafka和Zookeeper脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56871319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com