This commit is contained in:
yangyu 2021-08-19 14:40:31 +08:00
parent aced9279b9
commit 7786832f8f
3 changed files with 98 additions and 0 deletions

View File

@ -0,0 +1,38 @@
FROM centos:7
MAINTAINER Yang <yangyufans@qq.com>
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"]

View File

@ -0,0 +1,6 @@
tickTime=2000
dataDir=/data
clientPort=2181
initLimit=5
syncLimit=2
quorumListenOnAllIPs=true

54
zookeeper/3.6.3/start.sh Normal file
View File

@ -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