CentOS 6 uses Docker to deploy Zookeeper operation example

CentOS 6 uses Docker to deploy Zookeeper operation example

This article describes how to use docker to deploy zookeeper on centos6. Share with you for your reference, the details are as follows:

Directory structure:

/zookeeper
/Dockerfile
./start.sh
/Readme
/zookeeper-3.4.10.tar.gz

Dockerfile

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 \
 z
docker ps -a
docker logs -f zk

Test the installation and deployment

cat Readme|while read line; do $line; done

Zookeeper download address:

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz

I hope this article will help you use Docker containers.

You may also be interested in:
  • Install Zookeeper under Docker (standalone and cluster)
  • Implementation of Docker to build Zookeeper&Kafka cluster
  • Detailed tutorial on how to quickly install Zookeeper in Docker

<<:  How to add fields and comments to a table in sql

>>:  Two practical ways to enable proxy in React

Recommend

CentOS 7.2 builds nginx web server to deploy uniapp project

Panther started as a rookie, and I am still a roo...

Press Enter to automatically submit the form. Unexpected discovery

Copy code The code is as follows: <!DOCTYPE ht...

vue uses Ele.me UI to imitate the filtering function of teambition

Table of contents Problem Description The general...

What are the differences between xHTML and HTML tags?

All tags must be lowercase In XHTML, all tags must...

Linux installation MySQL tutorial (binary distribution)

This tutorial shares the detailed steps of instal...

How to install PostgreSQL11 on CentOS7

Install PostgreSQL 11 on CentOS 7 PostgreSQL: The...

About nginx to implement jira reverse proxy

Summary: Configure nginx reverse proxy jira and i...

Detailed tutorial on installing MariaDB on CentOS 8

MariaDB database management system is a branch of...

Summarize the common application problems of XHTML code

<br />For some time, I found that many peopl...

MySQL calculates the number of days, months, and years between two dates

The MySQL built-in date function TIMESTAMPDIFF ca...

Parsing Apache Avro Data in One Article

Abstract: This article will demonstrate how to se...

Summary of how to use the MySQL authorization command grant

How to use the MySQL authorization command grant:...

How to draw a vertical line between two div tags in HTML

Recently, when I was drawing an interface, I enco...