首先创建所需的文件夹

mkdir -p /data/{data1,data2,data3}
mkdir -p /data/{datalog1,datalog2,datalog3}

docker-compose 直接up

version: ''
services:
zoo1:
image: zookeeper
restart: always
container_name: zoo1
ports:
- "2181:2181"
volumes:
- /data/data1:/data
- /data/datalog1:/datalog
# - /conf:/conf #此镜像的zoo.cfg配置文件可放置在/conf目录
environment:
ZOO_MY_ID:
ZOO_SERVERS: server.=zoo1:: server.=zoo2:: server.=zoo3::
zoo2:
image: zookeeper
restart: always
container_name: zoo2
ports:
- "2182:2181"
volumes:
- /data/data2:/data
- /data/datalog2:/datalog environment:
ZOO_MY_ID:
ZOO_SERVERS: server.=zoo1:: server.=zoo2:: server.=zoo3::
zoo3:
image: zookeeper
restart: always
container_name: zoo3
ports:
- "2183:2181"
volumes:
- /data/data3:/data
- /data/datalog3:/datalog environment:
ZOO_MY_ID:
ZOO_SERVERS: server.=zoo1:: server.=zoo2:: server.=zoo3::

测试

[root@master ~]# docker exec -it zoo2 zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@master ~]# docker exec -it zoo3 zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
[root@master ~]# docker exec -it zoo1 zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower

查看一下env

bash-4.4# env
ZOO_CONF_DIR=/conf
ZOO_SERVERS=server.=zoo1:: server.=zoo2:: server.=zoo3::
LANG=C.UTF-
HOSTNAME=9b37651d8114
ZOOCFGDIR=/conf              #如果有自定义的zoo.cfg文件,可以在此处进行volume挂载
ZOO_AUTOPURGE_PURGEINTERVAL=
ZOO_MAX_CLIENT_CNXNS=
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre
ZOO_AUTOPURGE_SNAPRETAINCOUNT=
JAVA_VERSION=8u171
PWD=/zookeeper-3.4./conf
HOME=/root
ZOO_SYNC_LIMIT=
ZOO_DATA_DIR=/data
ZOO_DATA_LOG_DIR=/datalog
TERM=xterm
ZOO_PORT=
SHLVL=
ZOO_TICK_TIME=
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin:/zookeeper-3.4./bin
JAVA_ALPINE_VERSION=8.171.-r0
ZOO_USER=zookeeper
ZOO_INIT_LIMIT=
ZOO_MY_ID=
_=/usr/bin/env
OLDPWD=/zookeeper-3.4.

docker下 zookeeper集群的更多相关文章

  1. docker 搭建zookeeper集群和kafka集群

    docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...

  2. Docker部署zookeeper集群和kafka集群,实现互联

    本文介绍在单机上通过docker部署zookeeper集群和kafka集群的可操作方案. 0.准备工作 创建zk目录,在该目录下创建生成zookeeper集群和kafka集群的yml文件,以及用于在该 ...

  3. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  4. Linux环境下ZooKeeper集群环境搭建关键步骤

    ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...

  5. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  6. centos下zookeeper集群搭建

    单机模式: 1)  首先下载zookeeper压缩包, 这里采用zookeeper3.4.8.... wget http://mirror.bit.edu.cn/apache/zookeeper/zo ...

  7. centos7下zookeeper集群安装部署

    应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...

  8. Centos6下zookeeper集群部署记录

    ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...

  9. 关于Linux系统下zookeeper集群的搭建

    1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...

随机推荐

  1. [置顶] Android 关于ToolBar分分钟玩死自己?

    场景一: 今天早上十点高高兴兴的跟平时早上一样买一杯粥然后一边喝着一边去上班,步行了15分钟到了公司,然后打指纹开门,然后就愉快的写代码了,我擦,好想电脑没开机,我晕好像没带眼镜,发现最近记性不是很好 ...

  2. Android 进阶15:HandlerThread 使用场景及源码解析

    眼睛困得要死,但今天的计划不完成又怎么能睡呢?明日复明日,明日何其多啊! 读完本文你将了解: HandlerThread 简介 HandlerThread 源码 HandlerThread 的使用场景 ...

  3. Chrome设置允许ajax跨域

    最近在做一个前后端分离的项目,在Windows上用.Net WebApi时候的后端,在Mac上用ng2搭建的前端. 要实现前后端对接进行调试,就必须要解决ajax跨域的问题,实现方法如下: //在te ...

  4. spring 和springmvc 在 web.xml中的配置

    (1)问题:如何在Web项目中配置Spring的IoC容器? 答:如果需要在Web项目中使用Spring的IoC容器,可以在Web项目配置文件web.xml中做出如下配置: <!-- Sprin ...

  5. 迭代器模式在 Java 容器中的实现

    迭代器接口是迭代器模式实现的精髓: public interface Iterator<E> { boolean hasNext(); E next(); ... } 假设某容器名为 Xx ...

  6. nodejs express project

    user root install express npm install express -g install express... npm install express-generator -g ...

  7. Gradle配置IDEA正常识别JPA Metamodel Generator动态生成的代码

    我们在使用JPA动态查询构建查询条件时,为了实现安全的类型检查,常常需要引用Hibernate JPA Metamodel Generator自动为我们生成静态元模型类. 而这些类由于编译时由Hibe ...

  8. python学习之多线程(一)

    引入线程包或者命名空间import threading 一:建立一个简单的线程程序 import time, threading def test():    print('thread %s is ...

  9. django的manytomany总结

    from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagli ...

  10. Cocoa Pod使用总结

    1. 背景 CocoaPod是Swift,Objective-C语言编写的Cocoa项目的依赖管理工具.简单点说就是它管理了很多的Swift和Objective-C的库,然后通过CocoaPod可以比 ...