我就是奇迹

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

搭建 Redis 7.2 的 3主3从集群

太好了!下面我为你准备一套完整的基于镜像 m.daocloud.io/docker.io/library/redis:7.2 搭建 Redis 7.2 3主3从集群的方案,包含:

 

  • ✅ 自定义网络

  • ✅ 6 个 Redis 实例(端口 7000~7005)

  • ✅ 自定义配置 redis.conf

  • ✅ 持久化存储

  • ✅ 自动集群初始化命令

 

 


 

 

✅ 步骤 1:创建 Docker 网络

 

docker network create redis-net

 

 


 

 

✅ 步骤 2:准备配置目录和 redis.conf 文件

 

for port in $(seq 7000 7005); do
  mkdir -p ~/redis-cluster/$port
  cat > ~/redis-cluster/$port/redis.conf <<EOF
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no
EOF
done

 

 


 

 

✅ 步骤 3:启动 6 个 Redis 容器(使用 DaoCloud 镜像)

 

for port in $(seq 7000 7005); do
  bus_port=$((10000 + $port)) # 17000~17005
  docker run -d --name redis-$port \
    --network redis-net \
    -v ~/redis-cluster/$port/redis.conf:/usr/local/etc/redis/redis.conf \
    -v ~/redis-cluster/$port/data:/data \
    -p $port:$port -p $bus_port:$bus_port \
    m.daocloud.io/docker.io/library/redis:7.2 \
    redis-server /usr/local/etc/redis/redis.conf \
    --cluster-announce-ip redis-$port \
    --cluster-announce-port $port \
    --cluster-announce-bus-port $bus_port
done

 

 


 

 

✅ 步骤 4:初始化 Redis 集群(3 主 3 从)

 

docker exec -it redis-7000 redis-cli --cluster create \
redis-7000:7000 redis-7001:7001 redis-7002:7002 \
redis-7003:7003 redis-7004:7004 redis-7005:7005 \
--cluster-replicas 1

输入 yes 后,Redis 会自动分配 slot 和从节点。

 


 

 

✅ 步骤 5:验证集群

 

docker exec -it redis-7000 redis-cli -h redis-7000 -p 7000 -c
127.0.0.1:7000> cluster nodes
127.0.0.1:7000> cluster info

你应该能看到 6 个节点、分布的 slot、主从绑定等信息。

 


 

 

✅ 清理命令(可选)

 

for port in $(seq 7000 7005); do
  docker rm -f redis-$port
  rm -rf ~/redis-cluster/$port
done
docker network rm redis-net

 

posted on 2025-05-08 14:35  我就是奇迹  阅读(28)  评论(0)    收藏  举报