docker 安装 zookeeper伪器群
1、docker 下安装zookeeper 镜像
1.1 搜索zookeeper 镜像: docker search zookeeper
1.2 拉取zookeeper镜像: docker pull zookeeper
2、配置docker-compose.yml
version: '3.1'
services:
zoo1:
image: zookeeper:latest
restart: always
hostname: zoo1
container_name: zookeeper_1
ports:
- 2181:2181
volumes:
- /usr/local/docker/zookeeper/zoo1/data:/data
- /usr/local/docker/zookeeper/zoo1/datalog:/datalog
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:latest
restart: always
hostname: zoo2
container_name: zookeeper_2
ports:
- 2182:2181
volumes:
- /usr/local/docker/zookeeper/zoo2/data:/data
- /usr/local/docker/zookeeper/zoo2/datalog:/datalog
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:latest
restart: always
hostname: zoo3
container_name: zookeeper_3
ports:
- 2183:2181
volumes:
- /usr/local/docker/zookeeper/zoo3/data:/data
- /usr/local/docker/zookeeper/zoo3/datalog:/datalog
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
# 配置网络
networks:
default:
external:
name: zoos
3、使用docker-compose 启动
3.1启动容器:docker-compose -f docker-compose.yml up -d
3.2查看状态:docker-compose ps 显示下图说明启动成功
注意:如果使用ps命令查看状态 容器一直显示starting状态或者一直重启可能是上面配置文件中zookeeper存放数据的文件夹权限不够可以使用 chmod -R命令添加权限。
4、查看zookeeper 集群节点状态
4.1 使用命令docker exec -it zookeeper_3 /bin/bash 进入到节点
4.2使用 zkServer.sh status 查看状态 如下如说明 安装成功
注意:如果在docker exec 时提示该节点没有运行在默认网络上,可以先停止容器、然后使用 docker network create命令创建一个网络(和上面yml文件中配置的网络名字相同,本例子为zoos)
我尝试的时候只是遇到这两个问题,一是权限、而是网络问题。