centos6使用docker部署zookeeper

目录结构:

/zookeeper
    /Dockerfile
    /start.sh
    /Readme
    /zookeeper-3.4.10.tar.gz

Dockerfile

FROM centos

MAINTAINER qiongtao.li hnatao@126.com

ADD ./zookeeper-3.4.10.tar.gz /opt
ADD ./start.sh /start.sh

ENV ZOO_PORT=2181\
	ZOO_DIR=/opt/zookeeper \
	ZOO_DATA_DIR=/data/zookeeper/data
	ZOO_DATA_LOG_DIR=/data/zookeeper/logs

RUN echo "Asia/shanghai" > /etc/timezone \
	&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
	&& yum -y install java \
	&& mkdir -p "$ZOO_DATA_DIR" \
	&& mkdir -p "$ZOO_DATA_LOG_DIR" \
	&& mv /opt/zookeeper-3.4.10 "$ZOO_DIR"

VOLUME ["$ZOO_DATA_DIR"]

EXPOSE $ZOO_PORT

ENV PATH=$PATH:$ZOO_DIR/bin

ENTRYPOINT ["sh", "/start.sh"]

start.sh

#!/bin/bash

CONF=${ZOO_DIR}/conf/zoo.cfg

cp -a ${ZOO_DIR}/conf/zoo_sample.cfg $CONF

sed -i "s|dataDir=/tmp/zookeeper|dataDir=${ZOO_DATA_DIR}|g" $CONF
sed -i "s|clientPort=2181|clientPort=${ZOO_PORT}|g" $CONF
echo "dataLogDir=${ZOO_DATA_LOG_DIR}" >> $CONF

for server in $ZOO_SERVERS; do
	echo "$server" >> $CONF
done

if [ ! -f "$ZOO_DATA_DIR/myid" ]; then
	echo "${ZOO_MY_ID:-1}" > "$ZOO_DATA_DIR/myid"
fi

zkServer.sh start-foreground

Readme

docker rm -f zk
docker rmi -f zk

docker build -t zk .
docker run -d \
	-p 2181:2181 \
	--name zk \
    -v /data:/data \
	zk
docker ps -a
docker logs -f zk

测试安装部署

cat Readme|while read line; do $line; done

zookeeper下载地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz

转载于:https://my.oschina.net/qiongtaoli/blog/902210

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值