Docker安装zookeeper

拉取镜像

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. 创建容器不启动

    1
    docker-compose up --no-start
  2. 创建容器并启动

    1
    docker-compose up
  3. 启动容器

    1
    docker-compose start
  4. 停止容器

    1
    docker-compose stop
  5. 移除停止的容器

    1
    docker-compose rm

验证集群

进入镜像

1
docker exec -it zk1 bash

执行下面命令,查看状态

1
./bin/zkServer.sh status

Mode: follower是从节点
Mode: leader是主节点

参考资料

基于 Docker 安装 Zookeeper

文章作者: Fulin Zhang
文章链接: https://iuin.github.io/2019/docker-zookeeper/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 个人博客