要创建一个不需要Zookeeper的Kafka Docker镜像,你可以使用Kafka的自定义配置来实现。以下是一个示例解决方法的代码示例:
Dockerfile
的文件,并将以下内容添加到文件中:FROM openjdk:8-jdk-alpine
ENV KAFKA_VERSION=2.8.0
ENV SCALA_VERSION=2.13
RUN apk add --no-cache bash wget
# 下载和解压Kafka
RUN wget https://downloads.apache.org/kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz && \
tar -xzf kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz && \
rm kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz && \
mv kafka_${SCALA_VERSION}-${KAFKA_VERSION} /kafka
# 添加自定义配置文件
COPY server.properties /kafka/config/
# 设置环境变量
ENV KAFKA_HOME=/kafka
ENV PATH=${KAFKA_HOME}/bin:$PATH
CMD ["kafka-server-start.sh", "/kafka/config/server.properties"]
server.properties
的文件,并将以下内容添加到文件中:broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
auto.create.topics.enable=false
docker build -t kafka .
注意:确保在与Dockerfile
和server.properties
文件相同的目录中运行此命令。
kafka
的Docker镜像。现在,您可以使用以下命令运行Kafka容器:docker run -d -p 9092:9092 --name kafka kafka
现在,您已经创建了一个不需要Zookeeper的Kafka Docker镜像,并且可以在本地运行它。