快速轻松地创建Kafka的Docker容器

展示如何使用docker-compose为本地开发环境设置自己的Apache Kafka容器,然后使用docker-compose启动和停止docker-image。

要求:
1. docker安装(Link
2. docker-compose安装(Link

1. 下载APACHE KAFKA DOCKER IMAGE
我们可以使用Docker世界中现成的镜像,在DockerHub上找到匹配和现成的镜像。调用页面后,我们可以在页面顶部搜索镜像。

我们输入“Apache Kafka”并开始搜索。在下一页中,我们将显示可以使用的已完成镜像列表。选择“wurstmeister / kafka”。请不要让这个名字激怒你!这是一个非常严肃的镜像,定期会更新。

要使用Wurstmeister镜像,我们首先必须在我们的机器上使用Git克隆Wurstmeister存储库。使用Linux Consolen命令“git clone https://github.com/wurstmeister/kafka-docker.git”,我们创建了文件的本地副本。

2. 自定义DOCKER镜像配置
在我们克隆了存储库之后,我们仍然需要对“docker-compose.yml”文件进行调整。

基本上,主要关于自定义环境变量“KAFKA_ADVERTISED_HOST_NAME”,必须指定Docker机器的IP,这对每个人可能都不同,要确定IP地址,我们必须在Linux控制台中输入“ipconfig”。结果是所有网络接口的列表。然后在该列表寻找显示名为“docker0”的条目,从这个条目我们复制“inet地址”的值,我这里是172.17.0.1。请确保复制正确的值。否则,您将无法启动Apache Kafka。

确定把IP地址输入到我们克隆的存储库中的“docker-compose.yml”文件中:调整完文件后,它应如下所示。


version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
build: .
ports:
-
"9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.17.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock

3. 使用DOCKER-COMPOSE启动和停止
现在我们可以根据Wurstmeister的镜像创建自己的Docker镜像。我们可以使用命令“docker-compose up -d”或“docker-compose up”开始创建镜像。在Wurstmeister加载镜像后,我们的Apacke Kafka Docker实例启动了。如果镜像成功启动,您应该获得以下控制台输出。


kafka_1 | [2018-09-04 13:01:15,008] INFO [SocketServer brokerId=1001] Started processors for 1 acceptors (kafka.network.SocketServer)
kafka_1 | [2018-09-04 13:01:15,014] INFO Kafka version : 2.0.0 (org.apache.kafka.common.utils.AppInfoParser)
kafka_1 | [2018-09-04 13:01:15,014] INFO Kafka commitId : 3402a8361b734732 (org.apache.kafka.common.utils.AppInfoParser)
kafka_1 | [2018-09-04 13:01:15,017] INFO [KafkaServer id=1001] started (kafka.server.KafkaServer)


现在,你可以使用“docker-compose stop”或“CTRL + c”停止Docker实例。

在控制台版中,还可以找到“zookeeper”的条目。Apache Kafka的操作需要Zookeeper。

Kafka with Docker - 快速轻松地创建容器