最近项目需要Redis集群在这里插入代码片 ,找了无数份文档没有一个清晰的,算了自己研究研究打一个清晰的文档
在这里插入图片描述
按照Redis官网的建议,至少是3主3从,所以,我们要准备6个Redis节点来搭建Redis集群。

1 创建文件夹 以及进入文件夹

#创建文件夹 以及进入文件夹
mkdir /opt/dockerapp
cd /opt/dockerapp

在这里插入图片描述

2 创建Redis镜像添加内容

#1. 创建打开dockerfile:
vi dockerfile

#2. dockerfile文件添加内容:
FROM redis:4.0.1
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir /usr/local/etc/redis && chown redis:redis /usr/local/etc/redis
ENV REDIS_C=/usr/local/etc/redis
RUN echo "port 6379" > $REDIS_C/redis.conf
RUN echo "bind 0.0.0.0" > $REDIS_C/redis.conf
RUN echo "cluster-enabled yes" >> $REDIS_C/redis.conf
RUN echo "cluster-config-file nodes.conf" >> $REDIS_C/redis.conf
RUN echo "cluster-node-timeout 5000" >> $REDIS_C/redis.conf
RUN echo "appendonly yes" >> $REDIS_C/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

#3. 制作Redis镜像:
docker build -f dockerfile -t jiang/redis-cluster:4.0.1 .

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 下载Redis.gz包,注意:到此步骤才需要Redis的安装包,上面的操作不需要

链接:https://pan.baidu.com/s/1wvWLGFA2SR9wvMzXjxRCNQ
提取码:h7pp

下载到本地在上传到Linux上去
在这里插入图片描述

4 创建打开ruby镜像添加内容

#1. 创建打开dockerfile2:
vi dockerfile2

#2. dockerfile2文件添加内容:
FROM ruby:2.4
RUN gem install redis
ADD ./redis-4.0.1.tar.gz /opt/dockerapp
RUN cd /opt/dockerapp && ln -sf redis-4.0.1 redis

3. 制作Ruby镜像:
docker build -f dockerfile2 -t jiang/my_ruby:2.4 .

在这里插入图片描述
在这里插入图片描述
注意,这里的路径要对应第三步的压缩包
在这里插入图片描述

4 启动Redis节点

docker run --name redis6000 -p 6000:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6001 -p 6001:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6002 -p 6002:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6003 -p 6003:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6004 -p 6004:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6005 -p 6005:6379 -d jiang/redis-cluster:4.0.1

在这里插入图片描述

5 查看Redos节点IP地址

docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6000
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6001
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6002
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6003
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6004
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6005

在这里插入图片描述

6 启动并打开ruby容器

docker run -it jiang/my_ruby:2.4 /bin/bash

在这里插入图片描述

7 ruby容器内输入

/opt/dockerapp/redis/src/redis-trib.rb create --replicas 1 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 172.17.0.9:6379

注意:/opt/dockerapp/redis/src/redis-trib.rb ,这里的路径也要对应第四步的配置路径

注意:172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 172.17.0.9:6379,这里对应第五步查询的IP地址
在这里插入图片描述
接着在输入:yes

出现下面显示说明集群创建成功:
在这里插入图片描述

8 到此Redis集群已经配置成功了!!!

随便进入一个节点查看

#输入查看容器命令:
docker ps
#再进入容器:
docker exec -it 容器id bash
#连接容器内的Redis:
redis-cli
#输入检查集群命令:
cluster info

在这里插入图片描述
在这里插入图片描述

非常简单,
我拿RedisDesktopManager工具连接一下看看
在这里插入图片描述
Redis集群已经成功!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐