环境准备 centos 7 docker 环境
一、拉取redis5.0镜像
docker pull redis:5.0.7
本文采用的是5.0.7 当然你也可以去 https://hub.docker.com/_/redis?tab=tags 选择自己需要的版本
下载成功后 使用 docker images 查看下载的镜像文件
二、redis配置文件
2.1 新建redis.conf文件 文件内容如下
cluster-enabled yes #开启集群
cluster-config-file nodes-8003.conf #集群的配合文件
protected-mode no #关闭保护模式
appendonly yes #开启持久化
port 8003 # 设置端口号
cluster-node-timeout 15000 #设置节点超时时间
2.2 将以上内容复制六份 修改对应的端口即可 ps:建议每个redis建一个文件夹 用于存放配置文件和挂载容器内文件
mkdir {8004,8005,8006} #同时创建多个文件夹
cp redis.conf ./8004/ #将配置文件copy到新建的文件夹内
三、创建docker容器
docker run --name redis8004 -v /etc/redisCluster/8004/data/:/data -v /etc/redisCluster/8004/redis.conf:/etc/redis/redis.conf --privileged=true --net host -p 8004:8004 -d 7eed8df88d3b redis-server /etc/redis/redis.conf
命令解释:
–name 创建容器的名字
-v 挂载 将主机的文件挂载到docker容器中
–privileged 给容器权限
–net host 使用docker的主机联网模式 如若不然在创建集群时会一直等待节点加入
-p 将主机的端口映射到docker容器指定的端口
-d 进程保护模式运行
7eed8df88d3b 指定redis镜像文件 这里可以使用name 也可以使用id
redis-service /etc/redis/redis.conf 启动redis并指定配置配置文件
四、启动docker容器
docker start redis8004
五、创建redis集群
进入任意一个docker容器中执行以下指令
docker exec -it redis8004 redis-cli --cluster create 192.168.59.10:8004 192.168.59.10:8005 192.168.59.10:8006 --cluster-replicas 0
–cluster-replicas 是指一个主节点有几个从节点 本文只采用 三个主节点 没有从节点所以这里 参数为0
出现以下内容就证明集群创建成功了
也可以使用 redis-cli指令链接redis后 执行 cluster info 查看集群详情
cluster_size 表示集群中节点的个数