鏡像下載
docker pull zookeeper
zookeeper 集群的搭建
創建名為docker-compose.yml的文件
version: '2' services: zk1: image: zookeeper restart: always container_name: zk1 ports: - "2181:2181" environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888 zk2: image: zookeeper restart: always container_name: zk2 ports: - "2182:2181" environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888 zk3: image: zookeeper restart: always container_name: zk3 ports: - "2183:2181" environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
這個配置文件會告訴 Docker 分別運行三個 zookeeper 鏡像, 並分別將本地的 2181, 2182, 2183 端口綁定到對應的容器的2181端口上.
ZOO_MY_ID 和 ZOO_SERVERS 是搭建 ZK 集群需要設置的兩個環境變量, 其中 ZOO_MY_ID 表示 ZK 服務的 id, 它是1-255 之間的整數, 必須在集群中唯一. ZOO_SERVERS 是ZK 集群的主機列表.
運行zookeeper集群
當前目錄下輸入命令 COMPOSE_PROJECT_NAME=zk_cluster docker-compose up -d

