# 1. 下载docker镜像标签:容器,--,zookeeper,9092,kafka,测试,docker From: https://blog.51cto.com/u_16021118/6140748
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
# 2. 启动zookeeper (单机方式)
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
# 3. 启动kafka (单机方式)
注:下面启动命令中的IP(192.168.213.213)需要更换为你的服务器/虚拟机的静态IP
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.213.213:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.213.213:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
# 4. 测试搭建的kafka是否可以正常进行发布/消费消息
如果使用的是xshell麻烦开两个窗口,一个provider发布消息,一个consumer消费消息
第一个窗口:
4.1. 查看当前正在运行的容器(zookeeper和kafka)
docker ps
4.2. 进入kafka容器
docker exec -it 容器id /bin/bash
4.3. 进入kafka脚本启动目录
cd /opt/kafka_2.13-2.7.0/bin
4.4. 启动发布消息脚本,并创建test的topic
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
4.5. 上条命令执行后,现在你可以发送消息了,等一会consumer脚本启动后就可以看到消费到的消息了
第二个窗口:
4.1. 查看当前正在运行的容器(zookeeper和kafka)
docker ps
4.2. 进入kafka容器
docker exec -it 容器id /bin/bash
4.3. 进入kafka脚本启动目录
cd /opt/kafka_2.13-2.7.0/bin
4.4. 启动发布消息脚本,并创建test的topic
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
4.5. 上条命令执行后,现在你可以看到刚才发送的消息了