Zookeeper
- 下载镜像
 
   docker pull zookeeper:3.7.0
- 创建挂载目录
 
mkdir -p /docker/zookeeper/node1/data
mkdir -p /docker/zookeeper/node1/logs
mkdir -p /docker/zookeeper/node1/conf- 配置文件 vi node1/conf/zoo.cfg
 
#心跳时间2秒 
tickTime=2000
#Follower跟随者服务器与Leader领导者服务器之间初始化连接时能容忍的最多心跳数10*tickTime 
initLimit=10
#集群中Leader与Follower之间的最大响应时间单位5*tickTime 
syncLimit=5
#存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志 
dataDir=/data
dataLogDir=/logs
#zookeeper端口 
clientPort=2181
#server.1代表一台服务器的编号,第一个端口代表Leader选举的端口,第二个端口为Zookeeper服务器之间的通信接口 
server.1=zookeeper_1:2881:3881
server.2=zookeeper_2:2882:3882
server.3=zookeeper_3:2883:3883- 创建
myid 文件 写入节点的id 写入1 
cat >> node1/data/myid << eof
1- docker-compose.yml
 
version: '3.7'
# 给zk集群配置一个网络,网络名为zk-net
networks:
  zkcluster:
    name: zkcluster
# 配置zk集群的
# container services下的每一个子配置都对应一个zk节点的docker container
services:
  zookeeper_1:
    # docker container所使用的docker image
    image: zookeeper:3.7.0
    hostname: zookeeper_1
    container_name: zookeeper_1
    # 配置docker container和宿主机的端口映射
    ports:
      - 2181:2181
      - 2881:2888
      - 3881:3888
    # 配置docker container的环境变量
    volumes:
      - ./node1/data:/data
      - ./node1/logs:/datalog
      - ./node1/conf/zoo.cfg:/conf/zoo.cfg
    # 当前docker container加入名为zk-net的隔离网络
    networks:
      - zkcluster
  zookeeper_2:
    # docker container所使用的docker image
    image: zookeeper:3.7.0
    hostname: zookeeper_2
    container_name: zookeeper_2
    # 配置docker container和宿主机的端口映射
    ports:
      - 2182:2181
      - 2882:2888
      - 3882:3888
    # 配置docker container的环境变量
    volumes:
      - ./node1/data:/data
      - ./node1/logs:/datalog
      - ./node1/conf/zoo.cfg:/conf/zoo.cfg
    # 当前docker container加入名为zk-net的隔离网络
    networks:
      - zkcluster
  zookeeper_3:
    # docker container所使用的docker image
    image: zookeeper:3.7.0
    hostname: zookeeper_3
    container_name: zookeeper_3
    # 配置docker container和宿主机的端口映射
    ports:
      - 2183:2181
      - 2883:2888
      - 3883:3888
    # 配置docker container的环境变量
    volumes:
      - ./node1/data:/data
      - ./node1/logs:/datalog
      - ./node1/conf/zoo.cfg:/conf/zoo.cfg
    # 当前docker container加入名为zk-net的隔离网络
    networks:
      - zkcluster









