一、查找镜像
系统环境为 CentOS 7.3
查找 kafka 和 zookeeper 结果如下
[root@localhost ~]# docker search kafka
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
wurstmeister/kafka Multi-Broker Apache Kafka Image 1336 [OK]
spotify/kafka A simple docker image with both Kafka and Zo… 411 [OK]
bitnami/kafka Apache Kafka is a distributed streaming plat… 218 [OK]
sheepkiller/kafka-manager kafka-manager 201 [OK]
ches/kafka Apache Kafka. Tagged versions. JMX. Cluster-… 117 [OK]
kafkamanager/kafka-manager Docker image for Kafka manager 112
hlebalbau/kafka-manager CMAK (previous known as Kafka Manager) As Do… 81 [OK]
landoop/kafka-topics-ui UI for viewing Kafka Topics config and data … 36 [OK]
johnnypark/kafka-zookeeper Kafka and Zookeeper combined image 22
solsson/kafka http://kafka.apache.org/documentation.html#q… 21 [OK]
landoop/kafka-lenses-dev Lenses with Kafka. +Connect +Generators +Con… 20 [OK]
debezium/kafka Kafka image required when running the Debezi… 19 [OK]
landoop/kafka-connect-ui Web based UI for Kafka Connect. 17 [OK]
danielqsj/kafka-exporter Kafka exporter for Prometheus 17 [OK]
digitalwonderland/kafka Latest Kafka - clusterable 15 [OK]
tchiotludo/kafkahq Kafka GUI to view topics, topics data, consu… 6 [OK]
solsson/kafka-manager Deprecated in favor of solsson/kafka:cmak 5 [OK]
solsson/kafka-prometheus-jmx-exporter For monitoring of Kubernetes Kafka clusters … 4 [OK]
solsson/kafkacat https://github.com/edenhill/kafkacat/pull/110 4 [OK]
mesosphere/kafka-client Kafka client 3 [OK]
zenko/kafka-manager Kafka Manger https://github.com/yahoo/kafka-… 2 [OK]
anchorfree/kafka Kafka broker and Zookeeper image 2
zenreach/kafka-connect Zenreach's Kafka Connect Docker Image 2
openwhisk/kafkaprovider Apache OpenWhisk event provider service for … 2 [OK]
solsson/kafka-monitor https://github.com/linkedin/kafka-monitor fo… 2 [OK]
[root@localhost ~]# docker search zookeeper
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
zookeeper Apache ZooKeeper is an open-source server wh… 1041 [OK]
jplock/zookeeper Builds a docker image for Zookeeper version … 166 [OK]
wurstmeister/zookeeper 141 [OK]
mesoscloud/zookeeper ZooKeeper 73 [OK]
bitnami/zookeeper ZooKeeper is a centralized service for distr… 54 [OK]
digitalwonderland/zookeeper Latest Zookeeper - clusterable 23 [OK]
mbabineau/zookeeper-exhibitor 23 [OK]
tobilg/zookeeper-webui Docker image for using `zk-web` as ZooKeeper… 15 [OK]
debezium/zookeeper Zookeeper image required when running the De… 14 [OK]
confluent/zookeeper [deprecated - please use confluentinc/cp-zoo… 13 [OK]
31z4/zookeeper Dockerized Apache Zookeeper. 9 [OK]
thefactory/zookeeper-exhibitor Exhibitor-managed ZooKeeper with S3 backups … 6 [OK]
emccorp/zookeeper Zookeeper 2
engapa/zookeeper Zookeeper image optimised for being used int… 2
duffqiu/zookeeper-cli 1 [OK]
paulbrown/zookeeper Zookeeper on Kubernetes (PetSet) 1 [OK]
openshift/zookeeper-346-fedora20 ZooKeeper 3.4.6 with replication support 1
perrykim/zookeeper k8s - zookeeper ( forked k8s contrib ) 1 [OK]
josdotso/zookeeper-exporter ref: https://github.com/carlpett/zookeeper_e… 1 [OK]
strimzi/zookeeper 1
midonet/zookeeper Dockerfile for a Zookeeper server. 0 [OK]
pravega/zookeeper-operator Kubernetes operator for Zookeeper 0
humio/zookeeper-dev zookeeper build with zulu jvm. 0
dabealu/zookeeper-exporter zookeeper exporter for prometheus 0 [OK]
phenompeople/zookeeper Apache ZooKeeper is an open-source server wh… 0 [OK]
需要安装 wurstmeister/kafka 和 ==wurstmeister/zookeeper ==这两个镜像。
二、镜像拉取
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
三、启动容器
Zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
KafKa
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=[ip]:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[ip]:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka:2.12-2.3.0
注意:上面的IP一般设置为宿主机的IP地址,然后开放宿主机对应映射的端口,不然会访问不到
三、测试
运行容器结果
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d812897912f5 wurstmeister/kafka:latest "start-kafka.sh" 3 hours ago Up 2 hours 0.0.0.0:9092->9092/tcp kafka
809862829ace wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 3 hours ago Up 2 hours 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:49154->2181/tcp zookeeper
测试结果如下图,启动一个kafka的springboot应用,编写测试发送消息和接受消息接口。
向kafka发送消息,结果如下,成功
上述的demo代码例子已上传gitee:
https://gitee.com/lin_zhi_peng/kafkaprogram.git