参考https://blog.csdn.net/adolph586/article/details/85340764
楼主参考这篇文章,实际操作也遇到点小问题,读者可以参考两个文章一起学习。
一、环境
CentOS7 :
centos7.png
Docker:
docker.png
Redis镜像:
redis镜像.png
二、部署
1、Docker相关
关于Docker安装,redis镜像下载慢可以参考楼主另两篇文章,也是这次安装过程中找得方法,亲测可用。
CentOS7下安装Docker
Docker镜像下载慢
2、集群搭建
可以先略过这张图,这是最后我的redis-cluster的文件结构图
tree.png
2.1 配置容器网络
docker network create --subnet=172.60.0.0/16 mynetwork
2.2 在 /home 下新建 redis-cluster 文件夹,然后创建模板 redis-cluster.tmpl 文件,文件内容如下:
redis-cluster.tmpl.png2.3 在/home/redis-cluster下生成conf和data目标,并生成配置信息,脚本如下:
config.sh.png
给脚本赋运行权限,然后执行
chmod +x config.sh
sh ./config.sh
2.4 创建6个redis容器,运行脚本如下
run.sh.png
给脚本赋运行权限,然后执行
chmod +x run.sh
sh ./run.sh
2.5 创建集群命令,我也写成了脚本。这步我参照文章直接在容器中执行命令,没能操作成功,查了资料,可能需要ruby环境。楼主一直在想能不能不装ruby环境,于是找到redis官方默认给了个脚本create-cluster,将里面的启动命令给复制出来,写了这个脚本。
cluster.sh.png
将脚本复制到任意镜像的挂载文件夹下,进入容器,给脚本赋运行权限,执行,中间会让你check一次,输入yes即可。
楼主将脚本放置宿主机的/home/redis-cluster/7000/data路径下,然后操作如下:
A、查看容器id
docker ps
B、进入容器
docker exec it 容器id bash
C、赋运行权限
chmod +x cluster.sh
D、执行
sh ./cluster.sh
2.6 验证
进入主容器中,set 一个key,可以在其他节点中获得这个key对应的值,即可成功。如图:
success.png
网友评论