- kafka
- host: 0.0.0.0:9092
- topic: test
- partition: 0
- kafka Web 管理
- 0.0.0.0:9000
Docker Compose 配置文件:
version: '3.5'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
restart: always
kafka:
image: wurstmeister/kafka
container_name: kafka # 容器名
volumes:
- /etc/localtime:/etc/localtime
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 1 # 不能重复
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 # 副本数
KAFKA_CREATE_TOPICS: "test:1:1" # 话题:Partition:Replica (数量)
restart: always # 重启后自动运行
kafka-manager: # Web 管理界面
image: sheepkiller/kafka-manager
container_name: kafka-manager
ports:
- "9000:9000"
environment:
ZK_HOSTS: 0.0.0.0:2181 # zookeeper 地址
restart: always
- 进入 kafka 容器:
docker exec -it kafka /bin/bash
- 查看话题:
kafka-topics.sh --list --zookeeper zookeeper:2181
- 生产消息:
kafka-console-producer.sh --broker-list kafka:9092 --topic=test
- 消费消息:
kafka-console-consumer.sh --bootstrap-server kafka:9092 --from-beginning --topic test