centos 6 dockerを用いた展開zookeeper操作例
2066 ワード
本論文の例は、Cntos 6がdocker配置zookeeperを使用して動作することを述べている.皆さんに参考にしてあげます.具体的には以下の通りです.
ディレクトリ構造:
//zookeeper /Docerfile /start.sh /Readme /zookeeper-3.10.tar.gz
Docerfile
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz
ここで述べたように、Docker容器の使用に役に立ちます.
ディレクトリ構造:
//zookeeper /Docerfile /start.sh /Readme /zookeeper-3.10.tar.gz
Docerfile
FROM centos
MAINTAINER qiongtao.li [email protected]
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
ここで述べたように、Docker容器の使用に役に立ちます.