第一步;拉去zookeeper镜像php
docker pull wurstmeister/zookeeper
第二步:拉取kafka镜像spring
docker pull wurstmeister/kafka
第三步:启动zookeeper镜像docker
docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper
第四步:启动kafka镜像(切记 192.168.31.131是我虚拟机ip,各位须要更换为本身的kafka镜像所在主机的ip)springboot
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.31.131 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka
第五步:假设获取到的ID为:ba2540992d9ebash
使用ID进入容器:app
docker exec -it ba2540992d9e /bin/bash
第六步:进入容器里进行生产和消费消息(具体进入/opt/kafkaxxxx 要ls一下 查看本身拉取的哪一个版本的镜像产生的容器)blog
cd /opt/kafka_2.12-2.1.0/
建立一个主题名为netmusic:ip
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic netmusic
运行一个生产者:文档
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic netmusic
参考文档:https://m.cppentry.com/bencandy.php?fid=120&id=195308kafka
注意:springboot配置文件application.properties的组名(查看:进入容器,kafka/config目录下的consumer.properties中能够看到)
# 指定默认消费者group id spring.kafka.consumer.group-id=test-consumer-group