Docker 创建zookeeer容器

Posted blackcatfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 创建zookeeer容器相关的知识,希望对你有一定的参考价值。

今天搭建了一个使用docker搭建ZK 集群

首先镜像下载

docker pull zookeeper

当出现如下结果时, 表示镜像已经下载完成了:

>>> docker pull zookeeper
Using default tag: latest
latest: Pulling from library/zookeeper
e110a4a17941: Pull complete
a696cba1f6e8: Pull complete
bc427bd93e95: Pull complete
c72391ae24f6: Pull complete
40ab409b6b34: Pull complete
d4bb8183b85d: Pull complete
0600755f1470: Pull complete
Digest: sha256:12458234bb9f01336df718b7470cabaf5c357052cbcb91f8e80be07635994464
Status: Downloaded newer image for zookeeper:latest

启动一个ZK命令

docker run --name my_zookeeper -d zookeeper:latest

今天要讲的是集群的搭建使用的是docker-compose所以先创建一个 docker-compose.yaml配置如下

version: ‘2‘
services:
    zoo1:
        image: zookeeper
        restart: always
        container_name: zoo1
        ports:
            - "2181:2181"
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    zoo2:
        image: zookeeper
        restart: always
        container_name: zoo2
        ports:
            - "2182:2181"
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    zoo3:
        image: zookeeper
        restart: always
        container_name: zoo3
        ports:
            - "2183:2181"
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

这个image 可以使用image ID代替 查询镜像ID 命令如下

docker images

这个配置文件会告诉 Docker 分别运行三个 zookeeper 镜像, 并分别将本地的 2181, 2182, 2183 端口绑定到对应的容器的2181端口上.
ZOO_MY_ID 和 ZOO_SERVERS 是搭建 ZK 集群需要设置的两个环境变量, 其中 ZOO_MY_ID 表示 ZK 服务的 id, 它是1-255 之间的整数, 必须在集群中唯一. ZOO_SERVERS 是ZK 集群的主机列表.

接着我们在 docker-compose.yml 当前目录下运行:

COMPOSE_PROJECT_NAME=zk_test docker-compose up -d 

-d 是后台启动

使用docker ps 可以查看进程

技术图片

 

 使用以下命令进入容器

docker exec -it 容器id /bin/sh
bin/zkServer.sh status #查看状态

技术图片

 

 这个是从节点

技术图片

 

 这个是主节点

 

传送门1:https://blog.csdn.net/wu1226419614/article/details/78075898

传送门2:https://www.jianshu.com/p/f9b257a3f948

以上是关于Docker 创建zookeeer容器的主要内容,如果未能解决你的问题,请参考以下文章

将 Docker 容器限制为单个 cpu 核心

vscode 远程连接 docker 容器进行 C++ 代码调试实践

docker的安装与删除(极其详细,有图有代码)

Docker下载镜像并创建容器运行

创建docker selenium容器

12-Docker-部署SonarQube