1.安装Redis镜像
# 拉取镜像
docker pull yyyyttttwwww/redis
# 修改镜像名称
docker tag yyyyttttwwww/redis redis
2.创建net2网段
docker network create --subnet=172.19.0.0/16 net2
3.创建6节点Redis容器
docker run -it -d --restart=always --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
docker run -it -d --restart=always --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash
docker run -it -d --restart=always --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash
docker run -it -d --restart=always --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash
docker run -it -d --restart=always --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash
docker run -it -d --restart=always --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash
4.修改Redis配置文件,配置文件路径:/usr/redis/redis.conf
#进入r1节点
docker exec -it r1 bash
vi /usr/redis/redis.conf
#进入r2节点
docker exec -it r2 bash
vi /usr/redis/redis.conf
#进入r3节点
docker exec -it r3 bash
vi /usr/redis/redis.conf
#进入r4节点
docker exec -it r4 bash
vi /usr/redis/redis.conf
#进入r5节点
docker exec -it r5 bash
vi /usr/redis/redis.conf
#进入r6节点
docker exec -it r6 bash
vi /usr/redis/redis.conf
daemonize yes # 以后台进程运行。这句需要注释掉,否则在指定配置文件时会启动失败
cluster-enabled yes # 开启集群
cluster-config-file nodes.conf # 集群配置文件
cluter-node-timeout 15000 # 超时时间
appendonly yes # 开启AOF模式
5.启动6节点Redis服务器
#进入r1节点
cd /usr/redis/src
./redis-server ../redis.conf
#进入r2节点
cd /usr/redis/src
./redis-server ../redis.conf
#进入r3节点
cd /usr/redis/src
./redis-server ../redis.conf
#进入r4节点
cd /usr/redis/src
./redis-server ../redis.conf
#进入r5节点
cd /usr/redis/src
./redis-server ../redis.conf
#进入r6节点
cd /usr/redis/src
./redis-server ../redis.conf
7.安装redis-trib.rb
cd /usr/redis/
mkdir cluster
cp /usr/redis/src/redis-trib.rb /usr/redis/cluster/
cd /usr/redis/cluster/
7.创建Cluster集群
./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379
--replicas 1参数表示为每个主节点创建一个从节点
8.查看集群状态
root@cfa1ae5792ee:/usr/redis/cluster# /usr/redis/src/redis-cli -c
172.19.0.4:6379> cluster nodes
f6f6a8d86d79fb14c3780f5e7cb7dfc8fa8f2fe3 172.19.0.7:6379 slave b1ac853508dc3c18d977e71c7c806ed47afa9092 0 1561988593350 6 connected
2c93d64a4ddd00eb14a864ddd3c23f900f67853c 172.19.0.3:6379 master - 0 1561988589322 2 connected 5461-10922
5637032f88a327d06c8f0ede441f25531be3ef94 172.19.0.6:6379 slave 2c93d64a4ddd00eb14a864ddd3c23f900f67853c 0 1561988592343 5 connected
61378ec816de0afd4ae409813d112fb50fd69135 172.19.0.2:6379 master - 0 1561988594356 1 connected 0-5460
b1ac853508dc3c18d977e71c7c806ed47afa9092 172.19.0.4:6379 myself,master - 0 0 3 connected 10923-16383
c70e1388a110a32e6f546f83886911095bf71260 172.19.0.5:6379 slave 61378ec816de0afd4ae409813d112fb50fd69135 0 1561988591336 4 connected