一、安装镜像
由于kafka依赖于zookeeper,需要先安装zookeeper的容器
1、搜索zookeeper和kafka的镜像
docker search zookeeper
docker search kafka
2、找到后安装zookeeper和kafka的镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
二、启动kafka
1、启动zookeeper
docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper
参数说明:
-
-d 设置docker后台运行
-
-name zookeeper 指定容器别名为zookeeper
-
-p 2181:2181 指定运行端口,容器开放2181,绑定宿主机2181
2、启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_ConNECT=docker.for.mac.host.internal:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://docker.for.mac.host.internal:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
三、测试kafka功能
1、进入kafka容器
docker exec -it kafka /bin/bash
2、进入脚本目录
cd opt/kafka_2.13-2.7.1/bin/
3、启动kafka生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic first-topic
4、启动kafka消费者
另起一个终端,进入kafka容器的脚本目录,开启kafka的消费端
docker exec -it kafka /bin/bash
cd opt/kafka_2.13-2.7.1/bin/
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first-topic --from-beginning
这时在生产者端写入消息,消费者端可以接收到