Skip to the content.

kafka 镜像比较

spotify/kafka

来自 spotify 的 kafka 镜像同时包含了 kafka 与 zookeeper,因此基本上可以“随装随用”。

但已经较长时间没有维护,Kafka 版本仍然停留在0.10。对需要使用新版本的已经不适合了。

landoop/fast-data-dev

提供了一整套包括Kafka,ZooKeeper,Schema Registry,,Kafka-Connect等在内的多种开发工具和Web UI监视系统。

尤其是对于Kafka Connect的支持,包含了MongoDB,ElasticSearch,Twitter等超过20种Connector,并且提供了通过REST API提交Connector配置的 Web UI。

wurstmeister/kafka

维护较为频繁的一个Kafka镜像。只包含了Kafka,因此需要另行提供ZooKeeper,推荐使用同一作者提交的wurstmeister/zookeeper。 现在已经提供较新的 2.5.0 版本。

wurstmeister/kafka

下载 kafka 镜像
$ docker pull wurstmeister/kafka
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kafka               latest              f9b990972689        5 days ago          104MB
$ docker inspect wurstmeister/kafka|grep VERSION
                "JAVA_VERSION=8u212",
                "KAFKA_VERSION=2.5.0",
                "SCALA_VERSION=2.12",
运行 kafka 容器
$ docker run --name kafka \
	--restart=always \
	-p 9092:9092 \
	-e KAFKA_BROKER_ID=0 \
	-e "KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181/kafka" \
	-e "KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092" \
	-e "KAFKA_LISTENERS=PLAINTEXT://localhost:9092" \
	-v /etc/localtime:/etc/localtime \
	-d wurstmeister/kafka

landoop/fast-data-dev

下载 kafka 镜像
$ docker pull landoop/fast-data-dev
$ docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
landoop/fast-data-dev  latest              c06607a7dc0e        2 months ago        1.13GB
运行 kafka 容器
$ docker run --rm -it --name kafka \
	-p 2181:2181 \
	-p 8081:8081 \
	-p 8082:8082 \
	-p 8083:8083 \
	-p 9092:9092 \
	-p 3030:3030 \
	-e ADV_HOST=127.0.0.1 \
	-d landoop/fast-data-dev

数据目录:/data

测试 kafka 连接

测试端口

$ telnet 127.0.0.1 9092

发送消息

$ docker exec -it kafka kafka-console-producer.sh --broker-list localhost:9092 --topic test

接收消息

$ docker exec -it kafka kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

查看日志

$ docker logs -f kafka