簡介:docker-compose使用配置文件(docker-compose.yml)配置管理多個docker容器,在配置文件中疙驾,所有的容器通過service來定義启上,使用docker-compose啟動,停止媒吗,重啟應(yīng)用,適合組合使用多容器開發(fā)的場景坝疼。
1.安裝docker-compose
使用curl安裝docker-compose:
#下載鏡像
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#添加可執(zhí)行權(quán)限
chmod +x /usr/local/bin/docker-compose
控制臺輸入docker-compose --version成功則顯示
docker-compose安裝成功.png
若驗(yàn)證是否安裝成功時出錯
進(jìn)入下面的網(wǎng)址下載目前的最新版:
https://github.com/docker/compose/releases/tag/1.14.0-rc2
網(wǎng)頁拉到最下面搜贤,下載:
docker-compose-Linux-x86_64
然后將文件上傳到 /usr/local/bin/ 文件夾下,然后將其重命名為docker-compose裙士,修改此文件的權(quán)限,增加可執(zhí)行:chmod +x /usr/local/bin/docker-compose
2.下載鏡像(默認(rèn)宿主機(jī)已安裝docker)
下載wurstmeister/zookeeper管毙、wurstmeister/kafka腿椎、sheepkiller/kafka-manager
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull sheepkiller/kafka-manager
3.添加docker-compose.yml腳本
version: '2'
services:
zoo1:
image: wurstmeister/zookeeper
restart: unless-stopped
hostname: zoo1
ports:
- "2181:2181"
container_name: zookeeper
kafka1:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.0.119 ## 修改:宿主機(jī)IP
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.119:9092 ## 修改:宿主機(jī)IP
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
KAFKA_ADVERTISED_PORT: 9092
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zoo1
container_name: kafka1
kafka2:
image: wurstmeister/kafka
ports:
- "9093:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.0.119 ## 修改:宿主機(jī)IP
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.119:9093 ## 修改:宿主機(jī)IP
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
KAFKA_ADVERTISED_PORT: 9093
KAFKA_BROKER_ID: 2
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zoo1
container_name: kafka2
kafka-manager:
image: sheepkiller/kafka-manager ## 鏡像:開源的web管理kafka集群的界面
environment:
ZK_HOSTS: 192.168.0.119 ## 修改:宿主機(jī)IP
ports:
- "9000:9000" ## 暴露端口
4.運(yùn)行docker-compose
在docker-compose.yml腳本目錄下輸入docker-compose up -d
運(yùn)行docker-compose.png
5.顯示kafka集群信息
通過kafka-manager查看kafka集群信息,topic信息,新增topic等操作
瀏覽器輸入192.168.0.119:9000夭咬,然后添加cluster啃炸,其中zk地址填寫zoo1:2181
顯示kafka集群信息.png
顯示kafka集群信息2.png
6.測試kafka生產(chǎn)者,消費(fèi)者
控制臺創(chuàng)建生產(chǎn)者卓舵,消費(fèi)者南用,模擬kafka消費(fèi)
#創(chuàng)建topic
docker exec kafka1 \
kafka-topics.sh \
--create --topic topic001 \
--partitions 1 \
--zookeeper zookeeper:2181 \
--replication-factor 1
#獲取topic列表
docker exec kafka1 \
kafka-topics.sh --list \
--zookeeper zookeeper:2181
#進(jìn)入kafka消費(fèi)者
docker exec kafka1 \
kafka-console-consumer.sh \
--topic topic001 \
--bootstrap-server kafka1:9092,kafka2:9092
進(jìn)入kafka生產(chǎn)者
docker exec -it kafka1 \
kafka-console-producer.sh \
--topic topic001 \
--broker-list kafka1:9092,kafka2:9092
測試效果
生產(chǎn)者
生產(chǎn)者.png
消費(fèi)者
消費(fèi)者.png