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

18-09-05 banq
         

展示如何使用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
<p>

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)

<p>

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

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

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