单机
使用一个容器是直接运行下列指令即可:
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