diff --git a/zookeeper/3.6.3/Dockerfile b/zookeeper/3.6.3/Dockerfile new file mode 100644 index 0000000..fc03fbd --- /dev/null +++ b/zookeeper/3.6.3/Dockerfile @@ -0,0 +1,38 @@ +FROM centos:7 + +MAINTAINER Yang + +ENV ZOOKEEPER_VERSION=3.6.3 + +RUN yum install -y wget java-1.8.0-openjdk.x86_64 + +RUN cd / && wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz \ + && tar -zxvf zookeeper-$ZOOKEEPER_VERSION.tar.gz \ + && rm -rf zookeeper-$ZOOKEEPER_VERSION.tar.gz \ + && mv zookeeper-$ZOOKEEPER_VERSION zookeeper + +RUN mkdir /data /dataLogs /logs + +RUN echo "ZONE=Asia/Shanghai" > /etc/sysconfig/clock && \ + rm -rf /etc/localtime && \ + ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime + +COPY conf/zoo.cfg /zookeeper/conf/ + + +RUN sed -i 's/ZOO_LOG_DIR="."/ZOO_LOG_DIR="\/logs"/' /zookeeper/bin/zkEnv.sh && \ + sed -i 's/ZOO_LOG4J_PROP="INFO,CONSOLE"/ZOO_LOG4J_PROP="INFO,ROLLINGFILE"/' /zookeeper/bin/zkEnv.sh && \ + sed -i 's/zookeeper.root.logger=INFO, CONSOLE/zookeeper.root.logger=INFO,ROLLINGFILE/' /zookeeper/conf/log4j.properties && \ + sed -i 's/zookeeper.log.dir=./zookeeper.log.dir=\/logs/' /zookeeper/conf/log4j.properties + +ENV ZOOKEEPER_HOME "/zookeeper" + +ENV PATH "$PATH:$ZOOKEEPER_HOME/bin" + +COPY start.sh / + +RUN chmod 777 /start.sh + +EXPOSE 2181 2888 3888 + +CMD ["/start.sh"] diff --git a/zookeeper/3.6.3/conf/zoo.cfg b/zookeeper/3.6.3/conf/zoo.cfg new file mode 100644 index 0000000..5ef9214 --- /dev/null +++ b/zookeeper/3.6.3/conf/zoo.cfg @@ -0,0 +1,6 @@ +tickTime=2000 +dataDir=/data +clientPort=2181 +initLimit=5 +syncLimit=2 +quorumListenOnAllIPs=true diff --git a/zookeeper/3.6.3/start.sh b/zookeeper/3.6.3/start.sh new file mode 100644 index 0000000..c4ca85a --- /dev/null +++ b/zookeeper/3.6.3/start.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +echo "$ZOO_MY_ID" > /data/myid + +if [ -e /conf/zoo.cfg ]; then + \cp /conf/zoo.cfg /zookeeper/conf/ +fi + +if [ -n "$SERVICE_1" ]; then + if [ `grep -c "server.1" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.1=$SERVICE_1" >> /zookeeper/conf/zoo.cfg + fi + +fi + +if [ -n "$SERVICE_2" ]; then + if [ `grep -c "server.2" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.2=$SERVICE_2" >> /zookeeper/conf/zoo.cfg + fi +fi + +if [ -n "$SERVICE_3" ]; then + if [ `grep -c "server.3" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.3=$SERVICE_3" >> /zookeeper/conf/zoo.cfg + fi +fi + +if [ -n "$SERVICE_4" ]; then + if [ `grep -c "server.4" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.4=$SERVICE_4" >> /zookeeper/conf/zoo.cfg + fi +fi + +if [ -n "$SERVICE_5" ]; then + if [ `grep -c "server.5" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.5=$SERVICE_5" >> /zookeeper/conf/zoo.cfg + fi +fi + +if [ -n "$SERVICE_6" ]; then + if [ `grep -c "server.6" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.6=$SERVICE_6" >> /zookeeper/conf/zoo.cfg + fi +fi + +if [ -n "$SERVICE_7" ]; then + if [ `grep -c "server.7" /zookeeper/conf/zoo.cfg` -eq '0' ]; then + echo "server.7=$SERVICE_7" >> /zookeeper/conf/zoo.cfg + fi +fi + + + +/zookeeper/bin/zkServer.sh start-foreground