docker创建zookeeper集群

在搭建一些基础服务集群时,如果每台节点去配置需要花费大量的时间在集群配置上面,docker compose功能提供了一种编排能力,只需要写docker-compose.yml文件就可以生成一套docker集群环境;

1. 下载zk镜像

docker pull zookeeper

默认安装的是最新版,如果你想安装指定版本的话,可以在 docker hub 下载指定的版本,比如:docker pull zookeeper:3.6

2. 配置网络

Docker有三种网络模式,bridge、host、none,在你创建容器的时候,不指定–network默认是bridge;

  • bridge:为每一个容器分配IP,并将容器连接到一个docker0虚拟网桥,通过docker0网桥与宿主机通信。也就是说,此模式下,你不能用宿主机的IP+容器映射端口来进行Docker容器之间的通信;
  • host:容器不会虚拟自己的网卡,配置自己的IP,而是使用宿主机的IP和端口。这样一来,Docker容器之间的通信就可以用宿主机的IP+容器映射端口
  • none:无网络;

2.1 创建网络

docker network create --driver bridge --subnet=172.20.0.0/16 --gateway=172.20.0.1 zk_network

2.2 查看网络配置

查看指定的网络配置:docker network inspect NETWORK ID
查看所有的网络:docker network ls

3. docker-compose的安装

首先通过 docker-compose --version 验证一下是否已经安装 docker-compose,如果没有安装,可通过下面的命令安装:

curl -L “https://github.com/docker/compose/releases/download/1.24.1/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose

4. docker-compose.yml

version: '3'

services:
  zoo1:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo1
    ports:
      - 2181:2181
    volumes: # 挂载数据
      - /Users/test/docker/zk/node1/data:/data
      - /Users/test/docker/zk/node1:/datalog
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.20.0.11

  zoo2:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo2
    ports:
      - 2182:2181
    volumes: # 挂载数据
      - /Users/test/docker/zk/node2/data:/data
      - /Users/test/docker/zk/node2/datalog:/datalog
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.20.0.12

  zoo3:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo3
    ports:
      - 2183:2181
    volumes: # 挂载数据
      - /Users/test/docker/zk/node3/data:/data
      - /Users/test/docker/zk/node3/datalog:/datalog
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.20.0.13

networks: # 自定义网络
  default:
    external:
      name: zk_network

其中需要创建如下目录:
/Users/test/docker/zk/node{1,2,3}/data
/Users/test/docker/zk/node{1,2,3}/datalog
/Users/test/docker/zk/compose 存放docker-compose.yml文件

5. 启动

docker-compose -f docker-compose.yml up -d
简写:docker-compose up
如果需要后台启动,需要加上-d参数;

6. 查验效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装Docker中的Zookeeper集群,您需要按照以下步骤进行操作: 1. 首先,您需要在Docker中安装Zookeeper镜像。您可以使用以下命令来安装: docker pull zookeeper 2. 接下来,您需要创建一个Docker网络,以便Zookeeper容器可以相互通信。您可以使用以下命令来创建网络: docker network create zookeeper-net 3. 然后,您需要创建三个Zookeeper容器,每个容器都运行在不同的主机上。您可以使用以下命令来创建容器: docker run --name zoo1 --network zookeeper-net -p 2181:2181 -d zookeeper docker run --name zoo2 --network zookeeper-net -p 2182:2181 -e ZOO_MY_ID=2 -e ZOO_SERVERS="server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888" -d zookeeper docker run --name zoo3 --network zookeeper-net -p 2183:2181 -e ZOO_MY_ID=3 -e ZOO_SERVERS="server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888" -d zookeeper 在上面的命令中,我们创建了三个容器,分别命名为zoo1、zoo2和zoo3。容器zoo1将运行在默认端口2181上,而容器zoo2和zoo3将运行在端口2182和2183上。容器zoo2和zoo3还设置了它们的ID和服务器列表。 4. 最后,您可以使用以下命令来检查Zookeeper集群是否正常工作: docker exec -it zoo1 zkCli.sh 在Zookeeper命令行界面中,您可以使用“stat”命令来查看集群状态。如果一切正常,您应该能够看到所有三个Zookeeper服务器的详细信息。 这就是安装DockerZookeeper集群的步骤。希望这可以帮助您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值