第一步;拉去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