首页 > 解决方案 > 使用一些配置创建 Apache Kafka docker 镜像

问题描述

目前,在我将 Kafka 部署到机器后,我需要运行以下命令才能正确配置它:

docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --list --zookeeper zookeeper:2181
docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --create --topic new-project --zookeeper zookeeper:2181 --partitions 3 --replication-factor 1
docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --describe --zookeeper zookeeper:2181 --topic new-project

问题是我正在将它部署到一台机器上,Docker Run所以我不能再配置它。

为了解决这个问题,我正在尝试创建一个已经具有这些配置的自定义 Kafka 映像。

所以我创建了一个拉取图像并运行这些配置的工具,但这dockerfile不起作用,因为. 尝试创建图像时出现以下错误:.dockerdockerfile/bin/sh: 1: docker: not found

这是看起来的dockerfile样子:

FROM confluentinc/cp-kafka:5.1.2

RUN docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --list --zookeeper zookeeper:2181
RUN docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --create --topic new-project --zookeeper zookeeper:2181 --partitions 3 --replication-factor 1
RUN docker run --net=azure-iot-edge --rm confluentinc/cp-kafka:5.1.2 kafka-topics --describe --zookeeper zookeeper:2181 --topic new-project

有人遇到过类似的问题,可以提供一些指导吗?

标签: apache-kafkaazure-iot-edge

解决方案


docker不是基础镜像的一部分confluentinc/cp-kafka:5.1.2 如果你真的需要使用Docker Insider Docker,建议从这个入手

但是,从你说的:

将 Kafka 部署到机器后,我需要运行以下命令才能正确配置

我猜你首先要运行 Kafka 的 Docker 容器(部署):

docker run --net=azure-iot-edge -d --name cp_kafka confluentinc/cp-kafka:5.1.2

然后执行配置命令(config):

docker exec -i cp_kafka kafka-topics --list --zookeeper zookeeper:2181

...


推荐阅读