單機
使用一個容器是直接運行下列指令即可:
docker run --name my-zookeeper --restart always -d zookeeper
此鏡像包括EXPOSE 2181 2888 3888(zookeeper客戶端端口,跟隨端口,選擇端口),因此將其與其他容器鏈接時其將自動可達。由於Zookeeper“快速失敗”,最好始終重啓它(restart always)。
集羣
編寫docker-compose.yml文件,內容如下
version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zoo2:
image: zookeeper
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888
zoo3:
image: zookeeper
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888
注意docker-compose文件的版本是3.1,所以最好先將docker-compose升級到最新版本
然後在docker-compose.yml所在目錄運行
docker-compose up -d
使用docker ps查看,結果如下圖
其他文章:
Spring Boot 2+Dubbo 學習系列1:使用Docker部署zookeeper
Spring Boot 2+Dubbo 學習系列2:搭建Spring Boot 2+Dubbo+Zookeeper集羣
Spring Boot 2+Dubbo 學習系列3:dubbo-ops 之 Dubbo Admin