快速輕鬆地建立Kafka的Docker容器

banq發表於2018-09-05
展示如何使用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 class="indent">


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 class="indent">

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

在控制檯版中,還可以找到“zookeeper”的條目。Apache Kafka的操作需要Zookeeper。

Kafka with Docker - 快速輕鬆地建立容器

相關文章