1.1 Docker命令直接部署
1.1.1 拉取鏡像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
1.1.2 啟動zookeeper容器
docker run -d --name myzookeeper -p 2181:2181 -t wurstmeister/zookeeper
1.1.3 啟動Kafka容器
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
這樣就啟動了一個單個的Kafka容器, 通過docker客戶端可以看到zookeeper容器和Kafka容器都是正常運行的
1.2 docker-compose方式啟動
1.2.1 創建docker-compose文件
文件名: docker-compose.yml
文件內容:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
expose:
- "2181"
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
expose:
- "9093"
environment:
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
1.2.2 docker-compose構建
在上一步編寫好的docker-compose.yml文件所在的文件路徑下執行如下命令:
docker-compose build
正常結果如圖所示:
1.2.3 docker-compose啟動服務
構建成功后再執行如下命令:
docker-compose up -d
成功結果如圖所示:
查看容器運行狀態
說明zookeeper和Kafka服務都已成功運行.