拉取镜像
1
| docker pull zookeeper:3.4
|
单机模式
1
| docker run --name zk -p 2181:2181 zookeeper:3.4
|
伪集群模式
集群为大于等于3个奇数,如 3、5、7,不宜太多,集群机器多了选举和数据同步耗时长,不稳定。
创建docker-compose.yml文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| version: '3.4' networks: zk: services: zk1: image: zookeeper:3.4 container_name: zk1 networks: - zk ports: - "21811:2181" environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888 zk2: image: zookeeper:3.4 container_name: zk2 networks: - zk ports: - "21812:2181" environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zk1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk3:2888:3888 zk3: image: zookeeper:3.4 container_name: zk3 networks: - zk ports: - "21813:2181" environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=0.0.0.0:2888:3888
|
创建容器不启动
1
| docker-compose up --no-start
|
创建容器并启动
启动容器
停止容器
移除停止的容器
验证集群
进入镜像
1
| docker exec -it zk1 bash
|
执行下面命令,查看状态
1
| ./bin/zkServer.sh status
|
Mode: follower是从节点
Mode: leader是主节点
参考资料
基于 Docker 安装 Zookeeper