一、环境说明:
宿主机:Win10
虚拟机工具:VMware Workstation 15
系统及版本:Ubuntu16.04
Docker版本:18.09.3
涉及到的虚拟主机:
192.168.1.104 node1
192.168.1.105 node2
192.168.1.106 node3
二、创建本地目录
# 创建/docker/zk/conf 和 /docker/zk/data目录
mkdir -p /docker/zk/conf /docker/zk/data
# /docker/zk/conf下放zoo.cfg 内容如下:
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.0=192.168.1.104:2888:3888
server.1=192.168.1.105:2888:3888
server.2=192.168.1.106:2888:3888
# /docker/zk/data下放myid文件,内容为:
# 第一个节点 (192.168.1.104)
0
# 第二个节点 (192.168.1.105)
1
# 第三个节点 (192.168.1.106)
2
三、创建容器
# 三个节点依次执行
docker run -d -p 2181:2181 --restart unless-stopped --net host -v /docker/zk/data:/data -v /docker/zk/conf:/conf --name zk docker.io/zookeeper
四、验证集群状态
# 进入容器
docker exec -it zookeeper容器编号 bash
# 查看集群状态
zkServer.sh status
# 三个节点中其中两个从节点:
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
# 主节点:
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader