FROM centos:7 MAINTAINER Yang ENV ZOOKEEPER_VERSION=3.4.12 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 RUN echo "tickTime=2000" >> /zookeeper/conf/zoo.cfg && \ echo "dataDir=/data" >> /zookeeper/conf/zoo.cfg && \ echo "clientPort=2181" >> /zookeeper/conf/zoo.cfg && \ echo "initLimit=5" >> /zookeeper/conf/zoo.cfg && \ echo "syncLimit=2" >> /zookeeper/conf/zoo.cfg 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 COPY start.sh / RUN chmod 777 /start.sh EXPOSE 2181 2888 3888 ENTRYPOINT ["/start.sh"]