1.先拉redis镜像
docker pull redis:5
2.运行redis实例
redis-7000的配置文件redis.conf(linux的路径设置为/root/docker/redis/redis-7000/redis.conf)
将内容复制进去
port 7000
#如果是yes,表示启用集群,否则以单例模式启动
cluster-enabled yes
#可选,这不是一个用户可编辑的配置文件,这个文件是Redis集群节点自动持久化每次配置的改变,为了在启动的时候重新读取它。
cluster-config-file nodes.conf
#超时时间,集群节点不可用的最大时间。如果一个master节点不可到达超过了指定时间,则认为它失败了。注意,每一个在指定时间内不能到达大多数master节点的节点将停止接受查询请求。
cluster-node-timeout 15000
#开启aof持久化
appendonly yes
protected-mode no
然后copy 5份文件,redis-7001 redis-7002 redis-7003 redis-7004 redis-7005,修改端口号即可
启动redis 6个容器,分别占7000 7001 7002 7003 7004 7005端口号(redis集群最低要求是3主3从)
docker run --net=host --name redis-7000 -v /root/docker/redis/redis-7000/data:/data -v /root/docker/redis/redis-7000/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
docker run --net=host --name redis-7001 -v /root/docker/redis/redis-7001/data:/data -v /root/docker/redis/redis-7001/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
docker run --net=host --name redis-7002 -v /root/docker/redis/redis-7002/data:/data -v /root/docker/redis/redis-7002/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
docker run --net=host --name redis-7003 -v /root/docker/redis/redis-7003/data:/data -v /root/docker/redis/redis-7003/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
docker run --net=host --name redis-7004 -v /root/docker/redis/redis-7004/data:/data -v /root/docker/redis/redis-7004/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
docker run --net=host --name redis-7005 -v /root/docker/redis/redis-7005/data:/data -v /root/docker/redis/redis-7005/redis.conf:/usr/local/etc/redis/redis.conf -d redis:5 redis-server /usr/local/etc/redis/redis.conf
--net-host表示使用宿主机的端口号
ps -ef | grep redis
查看运行中的容器
docker ps
进入redis-7000的容器内部
docker exec -it redis-7000 /bin/bash
3.创建集群
创建集群使用redis-cli命令(注意redis5.0不能使用redis-trib.rb了,必须使用redis-cli创建集群)
redis 5.0使用redis-cli作为创建集群的命令,使用c语言实现,不再使用ruby语言。
redis-cli
-a haojunjie
--cluster
create
192.168.10.103:7000
192.168.10.103:7001
192.168.10.103:7002
192.168.10.103:7003
192.168.10.103:7004
192.168.10.103:7005
--cluster-replicas 1
这里的ip你可以填你自己的端口号,-a指定集群密码,也可以不指定
如果看见上图说明你成功了,恭喜你
4.测试集群
连接集群,-c表示连接的是集群,-a指定密码
redis-cli -c
查看集群的分片信息
cluster nodes
测试集群是否可用
你的电脑关闭了,下次直接启动容器,集群自动就连接好了,不需要进行任何配置