From 5074d19486b3d0e18c4d62306eaeca2253053459 Mon Sep 17 00:00:00 2001 From: yangyu Date: Wed, 11 Jul 2018 19:58:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0zookeeper=E6=90=AD?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zookeeper/3.4.12/Dockerfile | 38 +++++++++++++++++++++++++++++++++++++ zookeeper/3.4.12/start.sh | 35 ++++++++++++++++++++++++++++++++++ zookeeper/README.md | 23 ++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 zookeeper/3.4.12/Dockerfile create mode 100644 zookeeper/3.4.12/start.sh create mode 100644 zookeeper/README.md diff --git a/zookeeper/3.4.12/Dockerfile b/zookeeper/3.4.12/Dockerfile new file mode 100644 index 0000000..1415317 --- /dev/null +++ b/zookeeper/3.4.12/Dockerfile @@ -0,0 +1,38 @@ +FROM centos:7 + +MAINTAINER Yang + +ENV ZOOKEEPER_VERSION=3.4.12 + +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 + +RUN echo "tickTime=2000" >> /zookeeper/conf/zoo.cfg && \ + echo "dataDir=/data" >> /zookeeper/conf/zoo.cfg && \ + echo "dataDir=/dataLogs" >> /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 + +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 + +COPY start.sh / + +RUN chmod 777 /start.sh + +EXPOSE 2181 2888 3888 + +ENTRYPOINT ["/start.sh"] diff --git a/zookeeper/3.4.12/start.sh b/zookeeper/3.4.12/start.sh new file mode 100644 index 0000000..8fde749 --- /dev/null +++ b/zookeeper/3.4.12/start.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +echo "$ZOO_MY_ID" > /data/myid + +if [ -n "$SERVICE_1" ]; then + echo "service.1=$SERVICE_1:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_2" ]; then + echo "service.1=$SERVICE_2:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_3" ]; then + echo "service.1=$SERVICE_3:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_4" ]; then + echo "service.1=$SERVICE_4:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_5" ]; then + echo "service.1=$SERVICE_5:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_6" ]; then + echo "service.1=$SERVICE_6:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + +if [ -n "$SERVICE_7" ]; then + echo "service.1=$SERVICE_7:2888:3888" >> /zookeeper/conf/zoo.cfg +fi + + + +/zookeeper/bin/zkServer.sh start-foreground diff --git a/zookeeper/README.md b/zookeeper/README.md new file mode 100644 index 0000000..b4a9b91 --- /dev/null +++ b/zookeeper/README.md @@ -0,0 +1,23 @@ +# zookeeper 集群搭建 +## 创建镜像 +进入相应版本文件夹 +```bash +docker build -t zookeeper:3.4.12 . +``` +## 生成容器 +```bash +docker run -d \ + --privileged=true \ + -p 2181:2181 \ + -p 2888:2888 \ + -p 3888:3888 \ + -v /data/zookeeper/data:/data \ + -v /data/zookeeper/dataLogs:/dataLogs \ + -v /data/zookeeper/logs:/logs \ + -e ZOO_MY_ID=1 \ + -e SERVICE_1=10.211.55.11 \ + -e SERVICE_2=10.211.55.12 \ + -e SERVICE_3=10.211.55.13 \ + --name zookeeper \ + zookeeper:3.4.12 +``` \ No newline at end of file From 796694cf409c49cfdc6d39fbac0423f45c211534 Mon Sep 17 00:00:00 2001 From: yangyu Date: Wed, 11 Jul 2018 20:00:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9zookeeper=20=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zookeeper/3.4.12/start.sh | 14 +++++++------- zookeeper/README.md | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/zookeeper/3.4.12/start.sh b/zookeeper/3.4.12/start.sh index 8fde749..917a026 100644 --- a/zookeeper/3.4.12/start.sh +++ b/zookeeper/3.4.12/start.sh @@ -3,31 +3,31 @@ echo "$ZOO_MY_ID" > /data/myid if [ -n "$SERVICE_1" ]; then - echo "service.1=$SERVICE_1:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_1" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_2" ]; then - echo "service.1=$SERVICE_2:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_2" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_3" ]; then - echo "service.1=$SERVICE_3:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_3" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_4" ]; then - echo "service.1=$SERVICE_4:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_4" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_5" ]; then - echo "service.1=$SERVICE_5:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_5" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_6" ]; then - echo "service.1=$SERVICE_6:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_6" >> /zookeeper/conf/zoo.cfg fi if [ -n "$SERVICE_7" ]; then - echo "service.1=$SERVICE_7:2888:3888" >> /zookeeper/conf/zoo.cfg + echo "service.1=$SERVICE_7" >> /zookeeper/conf/zoo.cfg fi diff --git a/zookeeper/README.md b/zookeeper/README.md index b4a9b91..a51bb69 100644 --- a/zookeeper/README.md +++ b/zookeeper/README.md @@ -15,9 +15,9 @@ docker run -d \ -v /data/zookeeper/dataLogs:/dataLogs \ -v /data/zookeeper/logs:/logs \ -e ZOO_MY_ID=1 \ - -e SERVICE_1=10.211.55.11 \ - -e SERVICE_2=10.211.55.12 \ - -e SERVICE_3=10.211.55.13 \ + -e SERVICE_1=10.211.55.11:2888:3888 \ + -e SERVICE_2=10.211.55.12:2888:3888 \ + -e SERVICE_3=10.211.55.13:2888:3888 \ --name zookeeper \ zookeeper:3.4.12 ``` \ No newline at end of file From a6cc5270850c1822db5023d2d9e496c30fd68feb Mon Sep 17 00:00:00 2001 From: yangyu Date: Wed, 11 Jul 2018 21:27:23 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redis/4.0.10/Dockerfile | 34 ++++++++++++++++++++++++++++++++++ redis/4.0.10/start.sh | 11 +++++++++++ redis/README.md | 16 ++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 redis/4.0.10/Dockerfile create mode 100644 redis/4.0.10/start.sh create mode 100644 redis/README.md diff --git a/redis/4.0.10/Dockerfile b/redis/4.0.10/Dockerfile new file mode 100644 index 0000000..46da7f5 --- /dev/null +++ b/redis/4.0.10/Dockerfile @@ -0,0 +1,34 @@ +FROM centos:7 + +MAINTAINER Yang + +ENV REDIS_VERSION=4.0.10 + +RUN yum install -y wget gcc make + +RUN cd / && wget http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz \ + && tar -zxvf redis-$REDIS_VERSION.tar.gz \ + && rm -rf redis-$REDIS_VERSION.tar.gz \ + && cd /redis-$REDIS_VERSION \ + && make MALLOC=libc \ + && make install \ + && cp /redis-$REDIS_VERSION/redis.conf /usr/local/bin/ \ + && cd / \ + && rm -rf redis-$REDIS_VERSION + +RUN mkdir /redis /redis/conf /redis/logs + +RUN sed -i 's/logfile ""/logfile "\/redis\/logs\/redis.log"/' /usr/local/bin/redis.conf && \ + sed -i 's/bind 127.0.0.1/#bind 127.0.0.1/' /usr/local/bin/redis.conf + +RUN echo "ZONE=Asia/Shanghai" > /etc/sysconfig/clock && \ + rm -rf /etc/localtime && \ + ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime + +COPY start.sh / + +RUN chmod 777 /start.sh + +EXPOSE 6379 + +ENTRYPOINT ["/start.sh"] diff --git a/redis/4.0.10/start.sh b/redis/4.0.10/start.sh new file mode 100644 index 0000000..61150cd --- /dev/null +++ b/redis/4.0.10/start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ ! -e /redis/conf/redis.conf ]; then + cp /usr/local/bin/redis.conf /redis/conf +fi + +if [ -n "$PASSWORD" ]; then + echo "requirepass $PASSWORD" >> /redis/conf/redis.conf +fi + +redis-server /redis/conf/redis.conf diff --git a/redis/README.md b/redis/README.md new file mode 100644 index 0000000..26f1ea3 --- /dev/null +++ b/redis/README.md @@ -0,0 +1,16 @@ +# redis 搭建 +## 创建镜像 +```bash +docker build -t redis:4.0.10 . +``` +## 创建容器 +```bash +docker run -d \ + --privileged=true \ + -p 6379:6379 \ + -v /data/redis/conf:/redis/conf \ + -v /data/redis/logs:/redis/logs \ + -e PASSWORD=123456 \ + --name redis-4.0.10 \ + redis:4.0.10 +``` \ No newline at end of file