1. 环境准备
2. 编写 Docker Compose
# 创建并编辑 docker-compose.yml 文件
vi docker-compose.yml
version: '3.2'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
restart: always
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- "9092:9092"
environment:
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 # 127.0.0.1 可以换成宿主机 ip
- KAFKA_LISTENERS=PLAINTEXT://:9092
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime # 保证容器时区与宿主机一致
restart: always
# kafka 可视化管理服务,非必要
kafka-manager:
image: sheepkiller/kafka-manager
environment:
ZK_HOSTS: 127.0.0.1 # 127.0.0.1 可以换成宿主机 ip
ports:
- "9000:9000"
3. 启动并测试
# 启动服务
docker-compose up -d
# 进入容器
docker exec -it kafka /bin/bash
# 创建名为 test 的 topic
kafka-topics.sh --create --topic test --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1
# 查看刚刚创建的 topic 信息
kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test
# 作为生产者发送测试消息
kafka-console-producer.sh --topic=test --broker-list kafka:9092
> Hello
> World
> hahaha
# 作为消费者接收刚才发送的测试消息,能接收到则证明服务部署成功
kafka-console-consumer.sh --bootstrap-server kafka:9092 --from-beginning --topic test
4. 可视化界面管理
浏览器打开 localhost:9000 就是管理界面。
首次进入没有集群信息,需要手动添加,点击菜单 Cluster – Add Cluster 进行配置。
此时就可以查看集群信息和 Topics、Brokers
参考链接:
https://www.cnblogs.com/linyufeng/p/14685648.html
https://www.jianshu.com/p/1d7759d77ec1