单机

创建网络

docker network create kafka_net

安装 Zookeeper

docker run -d --name zookeeper \
--network kafka_net \
-e ALLOW_ANONYMOUS_LOGIN=yes \
bitnami/zookeeper:latest

如果已存在 Zookeeper 容器,则省略安装 Zookeeper 的步骤

将现有的 Zookeeper 加入 kafka_net 网络即可

docker network connect --alias zookeeper kafka_net zookeeper

启动 Kafka 容器

docker run --name kafka -p 9092:9092 --network kafka_net \
-e KAFKA_BROKER_ID=0  \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e TZ="Asia/Shanghai" \
-d bitnami/kafka:2.7.0

参数含义

在 zk 查看 Kafka 注册信息

连接 Kafka 客户端

docker exec -it kafka /bin/sh
cd /opt/bitnami/kafka/bin

新建 Kafka 客户端容器

docker run -it --rm \
--network kafka_net \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \
bitnami/kafka:2.7.0 kafka-topics.sh --list --bootstrap-server kafka:9092

Reference