1、拉取zookeeper镜像
docker pull wurstmeister/zookeeper
2、拉取kafka镜像
docker pull wurstmeister/kafka
3、运行zookeeper镜像
docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper
4、运行kafka镜像
docker run -d --name kafka -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_HOST_NAME=localhost -e KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka
5、进入kafka镜像
docker exec -it {kafka镜像 ID} /bin/bash 或者 docker exec -it 镜像名 /bin/bash
6、测试kafka工作情况
先进入 kafka的bin 目录。
cd /opt/kafka_2.12-2.5.0/bin/
运行kafka生产者发送消息 $ ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
发送消息
>输入任何信息
运行kafka消费者接收消息 $ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
上面没有创建topic,默认好像不存在就给创建了。
下面是自己创建topic
kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mytopic
运行kafka生产者发送消息 $ ./kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
发送消息
>输入任何信息
运行kafka消费者接收消息 $ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning