搭建 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
浙公网安备 33010602011771号