支持自定义zoo.cfg配置文件

This commit is contained in:
yangyu 2018-08-01 21:14:09 +08:00
parent db4d31ba99
commit 1991c045e7
4 changed files with 21 additions and 7 deletions

View File

@ -17,12 +17,8 @@ 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 && \
echo "quorumListenOnAllIPs=true" >> /zookeeper/conf/zoo.cfg
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 && \

View File

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

View File

@ -2,6 +2,10 @@
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

View File

@ -8,9 +8,12 @@ docker build -t ccr.ccs.tencentyun.com/yy-dk/zookeeper:3.4.12 .
```bash
docker run -d \
--privileged=true \
--net=host \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
-v /data/zookeeper/data:/data \
-v /data/zookeeper/logs:/logs \
-v /data/zookeeper/conf:/conf \
-e ZOO_MY_ID=1 \
-e SERVICE_1=10.211.55.11:2888:3888 \
-e SERVICE_2=10.211.55.12:2888:3888 \
@ -18,6 +21,11 @@ docker run -d \
--name zookeeper \
ccr.ccs.tencentyun.com/yy-dk/zookeeper:3.4.12
```
- data:zookeeper 数据文件夹
- logs:zookeeper 日志文件夹
- conf:zookeeper 配置文件目录若conf目录下包含 zoo.cfg 将覆盖zookeeper目录下的配置文件方便用户自定义配置文件
## 查看容器状态
```bash
docker exec -it zookeeper zkServer.sh status