下载镜像
这里使用了wurstmeister/kafka和wurstmeister/zookeeper这两个版本的镜像,在hub.docker.com中可以搜索到。
1、docker pull wurstmeister/zookeeper
2、docker pull wurstmeister/kafka
启动
1、启动zookeeper
docker run -d --name zookeeper -p 2181 -t wurstmeister/zookeeper
2、启动kafka
docker run --name kafka -e HOST_IP=localhost -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e ZK=zk -p 9092 --link zookeeper:zk -t wurstmeister/kafka
可以通过docker ps查看启动状态
测试发送消息
执行docker exec it kafka /bin/bash,进入容器内部:
1、创建一个主题:
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka
2、运行一个消息生产者,指定topic为刚刚创建的主题:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
3、新开一个ssh,进入相同目录,运行一个消费者,指定同样的主题:
bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-beginning
4、接下来你就可以在生产者框中输入信息,在消费者框中就可以收到消息了。