1. 获取镜像
# 查看可用的稳定版本
sudo docker search kafka
sudo docker pull wurstmeister/zookeeper:3.4.6
sudo docker pull wurstmeister/kafka:2.11-0.11.0.3
sudo docker image ls |grep -E 'wurstmeister/kafka|wurstmeister/zookeeper'
sudo docker rmi wurstmeister/zookeeper:3.4.6
sudo docker rmi wurstmeister/kafka:2.11-0.11.0.3
2. 启动容器
- 创建Kafka容器
```bash
构建并启动kafka容器(需要先启动ZooKeeper)
sudo docker run -d —name zookeeper -p 2181:2181 -t wurstmeister/zookeeper:3.4.6
宿主机IP:10.8.0.137,根据实际情况修改
sudo docker run -d —name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.8.0.137:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.8.0.137:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka:2.11-0.11.0.3
启动容器
sudo docker start zookeeper kafka
查看容器
sudo docker ps -a |grep -E ‘kafka|zookeeper’
重启容器
sudo docker restart zookeeper kafka
停止容器
sudo docker stop kafka zookeeper
删除容器
sudo docker rm kafka zookeeper
<a name="g5XZU"></a>
# 3. 验证
```bash
# zkCli
sudo docker exec -it zookeeper bin/zkCli.sh
# 进入终端
sudo docker exec -it kafka /bin/bash
# 查看日志
sudo docker logs kafka
sudo docker logs -f -t --tail=50 kafka
# 查看网络
sudo docker network ls
sudo docker inspect kafka
- Kafka操作
# 查看kafka主题列表
kafka-topics.sh --zookeeper 10.8.0.137:2181/kafka --list
# 查看kafka主题详情
kafka-topics.sh --describe --topic mykafka --zookeeper 10.8.0.137:2181/kafka
# 删除kafka主题
kafka-topics.sh --zookeeper 10.8.0.137:2181/kafka --delete --topic mykafka
# 创建kafka主题
kafka-topics.sh --create --zookeeper 10.8.0.137:2181/kafka --replication-factor 1 --partitions 3 --topic mykafka
# kafka生产者
kafka-console-producer.sh --broker-list 10.8.0.137:9092 --topic mykafka
# kafka消费者
kafka-console-consumer.sh --bootstrap-server 10.8.0.137:9092 --topic mykafka --from-beginning