搭建6个redis组成的redis集群,3主3从
一、运行命令创建文件夹和配置文件
for port in `seq 6601 6606`; do 
    mkdir -p ./${port}/conf 
    touch ./${port}/conf/redis.conf
    mkdir -p ./${port}/data
    echo "port ${port}" >>./${port}/conf/redis.conf
    echo "protected-mode no"  >>./${port}/conf/redis.conf
    echo "cluster-enabled yes" >>./${port}/conf/redis.conf
    echo "cluster-config-file nodes.conf" >>./${port}/conf/redis.conf
    echo "cluster-node-timeout 5000" >>./${port}/conf/redis.conf
    echo "cluster-announce-ip 10.227.65.53" >>./${port}/conf/redis.conf
    echo "cluster-announce-port ${port}" >>./${port}/conf/redis.conf
    echo "cluster-announce-bus-port 1${port}" >>./${port}/conf/redis.conf
    echo "appendonly yes" >>./${port}/conf/redis.conf
done
其中cluster-announce-ip改成自己的机器地址
二、 启动6个redis的docker实例
for port in `seq 6601 6606`; do \
  docker run -d --net host --privileged=true \
  -v $PWD/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  -v $PWD/${port}/data:/data \
  --restart always --name redis-${port} \
  redis:6.2 redis-server /usr/local/etc/redis/redis.conf; \
done
三、进入其中一个容器把六个实例建成一个集群
进入容器
docker exec -it redis-6601 /bin/bash
建立集群
redis-cli --cluster create 10.227.65.53:6601 10.227.65.53:6602 10.227.65.53:6603 10.227.65.53:6604 10.227.65.53:6605 10.227.65.53:6606 --cluster-replicas 1
其中10.227.65.53换成自己的ip地址
最终显示如下代表成功

image.png