【发布时间】:2021-11-22 11:14:18
【问题描述】:
我是 Kafka 新手,我正在尝试创建一个演示 Kafka 服务器并使用它。
我已经使用 docker-compose 文件创建了 Zookeeper 和 Kafka 容器,它们已启动并运行良好。
如果我 docker exec 进入 Kafka 容器并运行:
kafka-topics --create --zookeeper zookeeper-1 --replication-factor 1 --partitions 1 --topic demo-topic
主题已成功创建...但我想启动 Kafka 代理,然后以编程方式创建主题而无需用户交互(最终将用于管道)
我尝试了两个不同的 Kafka 图像(另一个是 confluentinc/cp-kafka)...我还尝试在 kafka 下将 bash 更改为 sh -1.command
真的可以在这里得到一些帮助。下面是我的 docker-compose 文件以及我在终端中获得的 bitnami 图像和融合图像的错误响应。
错误 (BITNAMI)/opt/bitnami/scripts/kafka/entrypoint.sh: line 27: exec: bash -c "kafka-topics --create --zookeeper zookeeper-1 --replication-factor 1 --partitions 1 --topic demo-topic": not found
错误(融合)Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "bash -c \"kafka-topics --create --zookeeper zookeeper-1 --replication-factor 1 --partitions 1 --topic demo-topic\"": executable file not found in $PATH: unknown
DOCKER-COMPOSE.YAML
services:
zookeeper-1:
container_name: zookeeper-1
image: zookeeper
restart: always
ports:
- 2181:2181
environment:
- ZOOKEEPER_CLIENT_PORT=2181
volumes:
- ./config/zookeeper-1/zookeeper.properties:/kafka/config/zookeeper.properties
kafka-1:
container_name: kafka-1
image: bitnami/kafka
depends_on:
- zookeeper-1
ports:
- 29092:29092
- 9092:9092
environment:
- KAFKA_ZOOKEEPER_CONNECT=zookeeper-1:2181
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092
- ALLOW_PLAINTEXT_LISTENER=yes
command:
- bash -c "kafka-topics --create --zookeeper zookeeper-1 --replication-factor 1 --partitions 1 --topic demo-topic"
【问题讨论】:
标签: docker apache-kafka docker-compose