欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

centos6使用docker部署zookeeper操作示例

程序员文章站 2022-04-09 16:07:24
本文实例讲述了centos6使用docker部署zookeeper操作。分享给大家供大家参考,具体如下:目录结构:/zookeeper /dockerfile /start.sh /readme /z...

本文实例讲述了centos6使用docker部署zookeeper操作。分享给大家供大家参考,具体如下:

目录结构:

/zookeeper
    /dockerfile
    /start.sh
    /readme
    /zookeeper-3.4.10.tar.gz

dockerfile

from centos
maintainer qiongtao.li hnatao@126.com
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容器使用有所帮助。