在Docker中搭建zookeeper集群

1.下载zookeeper镜像

安装好Docker以后,在terminal中输入:

docker pull zookeeper

等待安装完成。

当出现类似以下结果时,表明下载成功:

在Docker中搭建zookeeper集群_第1张图片
图1.下载镜像成功

2.启动zookeeper镜像

在terminal中输入:

docker run --name zookeeper01 -d zookeeper

后回车。改名领会在Docker后台运行一个 zookeeper 容器, 名字是 zookeeper01, 并且它默认会导出 2181 端口。

接下来,使用命令

docker logs -f zookeeper01

查看zookeeper的启动日志。

在Docker中搭建zookeeper集群_第2张图片
图2.启动成功后的zookeeper日志

进入容器

sudo docker exec -it 8bb6a633f23c /bin/bash

其中,8bb6a633f23c为容器ID。

进入容器后,就相当于进入了一个Linux系统,可以在该容器中进行常用命令操作。

3.使用 ZK 命令行客户端连接 ZK

到此为止,启动的zookeeper容器zookeeper01并没有绑定到宿主主机,因此不能直接访问。

执行以下命令,以通过 Docker 的 link 机制来对这个 ZK 容器进行访问:

docker run -it --rm --link zookeeper01:zookeeper zookeeper zkCli.sh -server zookeeper

这个命令的含义是:

1.  启动一个 zookeeper 镜像, 并运行这个镜像内的 zkCli.sh 命令, 命令参数是 “-server zookeeper”;

2.将我们先前启动的名为 zookeeper01 的容器链接(link) 到我们新建的这个容器上, 并将其主机名命名为 zookeeper。

当我们执行了这个命令后,就可以像正常使用 zookeeper 命令行客户端一样操作 zookeeper 服务了。

在Docker中搭建zookeeper集群_第3张图片
图3.将zookeeper容器链接到新建容器成功后

4.使用docker-compose搭建zookeeper集群

1.编写一个配置文件docker-compose.yml

在Docker中搭建zookeeper集群_第4张图片
图4. docker-compose.yml文件内容

这个配置文件会告诉 Docker 分别运行三个 zookeeper 镜像, 并分别将本地的 2181, 2182和2183 端口绑定到对应的容器的2181端口上。

ZOO_MY_ID和ZOO_SERVERS是搭建 ZK 集群需要设置的两个环境变量,其中ZOO_MY_ID表示ZK服务的 ID,它是1-255 之间的整数,必须在集群中唯一。ZOO_SERVERS是ZK 集群的主机列表。

你可能感兴趣的:(在Docker中搭建zookeeper集群)