十分钟使用docker快速启动redis集群服务

Docker安装

  1. yum install -y yum-utils device-mapper-persistent-data lvm2
  2. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. yum clean all
  4. yum makecache fast
  5. yum -y install docker-ce
  6. systemctl start docker
  7. docker version

Redis安装

  1. mkdir /docer/redis_docker
  2. mkdir /usr/local/redis_docker
  3. cd /usr/local/redis_docker/
  4. wget http://download.redis.io/releases/redis-4.0.1.tar.gz
  5. tar -xzf redis-4.0.1.tar.gz
  6. yum install -y gcc-c++
  7. cd redis-4.0.1/
  8. make
  9. vim redis.conf
bind 0.0.0.0
requirepass yourpwd
masterauth  yourpwd
logfile  "/usr/local/redis/logs/redis-server.log"
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
  1. cd …
  2. vim Dockerfile
#指定镜像
FROM centos:7

#定义路径的环境变量
ENV REDIS_HOME /usr/local

#将Dockerfile同级目录下的redis-4.0.1.tar.gz复制到镜像的根目录
ADD redis-4.0.1.tar.gz /

#创建安装目录,根据环境变量信息,实际的创建目录为:/usr/local/redis
RUN mkdir -p $REDIS_HOME/redis

#将Dockerfile同级目录下redis-4.0.1中的redis配置文件拷贝到容器的/usr/local/redis目录中
ADD redis-4.0.1/redis.conf $REDIS_HOME/redis/

#更新镜像的yum
RUN yum -y update

#安装gcc相关编译工具
RUN yum install -y gcc make

#指定工作目录
WORKDIR /redis-4.0.1

#执行编译
RUN make

#移动编译后的redis-server到容器相关的目录
RUN mv /redis-4.0.1/src/redis-server  $REDIS_HOME/redis/

#移动到上一级
WORKDIR /

#删除解压文件
RUN rm -rf /redis-4.0.1

#删除对于的工具
RUN yum remove -y gcc make

#添加数据卷
#/usr/local/redis/logs/redis-server.log
#此目录需要和redis.conf中logfile一致
VOLUME ["/usr/local/redis/logs"]

#暴露6379的端口
EXPOSE 6379

  1. docker build -t myDocker/redis-cluster .
  2. mkdir /usr/local/redis_docker/redis-node
  3. cd /usr/local/redis_docker/redis-node
  4. vim Dockerfile
FROM myDocker/redis-cluster:latest

ENTRYPOINT ["/usr/local/redis/redis-server", "/usr/local/redis/redis.conf"]

  1. docker build -t myDocker/redis-node .
  2. docker run -d --name redis-node-7000 -p 7000:6379 myDocker/redis-node
  3. docker run -d --name redis-node-7001 -p 7001:6379 myDocker/redis-node
  4. docker run -d --name redis-node-7002 -p 7002:6379 myDocker/redis-node
  5. docker run -d --name redis-node-7003 -p 7003:6379 myDocker/redis-node
  6. docker run -d --name redis-node-7004 -p 7004:6379 myDocker/redis-node
  7. docker run -d --name redis-node-7005 -p 7005:6379 myDocker/redis-node
  8. docker ps
  9. docker inspect 7000-7005的docker容器id,通过docker ps命令可以看到 |grep IPAddress
  10. ls -l redis-cli
  11. cp redis-cli /usr/local/bin
  12. redis-cli -p 7000
  13. redis-cli -p 7000 -a 你设置的密码

集群配置

  1. vim addslots.sh
#将0-5461的槽点配置在172.17.0.4:6379(宿主机127.0.0.1:7000)的redis上
n=0
for ((i=n;i<=5461;i++))
do
   /usr/local/bin/redis-cli -h 127.0.0.1 -p 7000 -a chhu2017  CLUSTER ADDSLOTS $i
done

#将5462-10922的槽点配置在172.17.0.5:6379(宿主机127.0.0.1:7001)的redis上
n=5462
for ((i=n;i<=10922;i++))
do
   /usr/local/bin/redis-cli -h 127.0.0.1 -p 7001 -a chhu2017  CLUSTER ADDSLOTS $i
done

#将10923-16383的槽点配置在172.17.0.6:6379(宿主机127.0.0.1:7002)的redis上
n=10923
for ((i=n;i<=16383;i++))
do
   /usr/local/bin/redis-cli -h 127.0.0.1 -p 7002 -a chhu2017  CLUSTER ADDSLOTS $i
done


  1. sh addslots.sh
  2. vi addSlaveNodes.sh

/usr/local/bin/redis-cli -h 127.0.0.1 -p 7002 -a chhu2017 CLUSTER REPLICATE 172.17.0.6:6379的集群ID

/usr/local/bin/redis-cli -h 127.0.0.1 -p 7003 -a chhu2017 CLUSTER REPLICATE 172.17.0.5:6379的集群ID

/usr/local/bin/redis-cli -h 127.0.0.1 -p 7004 -a chhu2017 CLUSTER REPLICATE 172.17.0.7:6379的集群ID

  1. sh addSlaveNodes.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值