当前位置: 首页 > news >正文

2025最新:3分钟使用Docker快速部署Redis集群

📋 完整步骤:部署 Redis 集群

✅ 步骤 1:安装 Docker 和 Docker Compose

首先,确保你的 Ubuntu 系统已经安装了 Docker 和 Docker Compose。如果没有安装,执行以下命令:

# 更新系统
sudo apt update# 安装 Docker
sudo apt install docker.io -y# 启动 Docker 服务并设置为开机自启
sudo systemctl enable --now docker# 安装 Docker Compose
sudo apt install docker-compose -y

✅ 步骤 2:创建 Redis 集群文件夹

在你想部署 Redis 集群的目录下创建一个文件夹:

mkdir redis-cluster && cd redis-cluster

✅ 步骤 3:创建 docker-compose.yml 文件

使用任何编辑器创建 docker-compose.yml 文件:

nano docker-compose.yml

将以下内容粘贴到文件中:

version: '3.8'services:redis-node-1:image: redis:5.0.14container_name: redis-node-1ports:- "7001:7001"command: redis-server --port 7001 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130redis-node-2:image: redis:5.0.14container_name: redis-node-2ports:- "7002:7002"command: redis-server --port 7002 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130redis-node-3:image: redis:5.0.14container_name: redis-node-3ports:- "7003:7003"command: redis-server --port 7003 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130redis-node-4:image: redis:5.0.14container_name: redis-node-4ports:- "7004:7004"command: redis-server --port 7004 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130redis-node-5:image: redis:5.0.14container_name: redis-node-5ports:- "7005:7005"command: redis-server --port 7005 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130redis-node-6:image: redis:5.0.14container_name: redis-node-6ports:- "7006:7006"command: redis-server --port 7006 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes --bind 0.0.0.0 --cluster-announce-ip 192.168.111.130
  • 这里的 192.168.111.130 是你宿主机的 IP 地址,请根据你的环境调整。
  • 每个 Redis 节点绑定到不同的端口(7001~7006),并启用了集群模式。

保存文件后退出(在 nano 编辑器中按 CTRL + X,然后按 Y 保存)。

✅ 步骤 4:启动 Redis 集群

redis-cluster 文件夹中,执行以下命令来启动 Redis 集群:

docker-compose up -d

这会启动 6 个 Redis 容器,分别绑定到 7001~7006 端口。

✅ 步骤 5:确认 Redis 节点已开启集群模式

执行以下命令,检查 Redis 节点是否启用了集群模式:

docker exec -it redis-node-1 redis-cli -p 7001 info | grep cluster_enabled

如果显示 cluster_enabled:1,说明集群模式已开启。

✅ 步骤 6:初始化 Redis 集群

安装 redis-cli 用于创建Redis集群:

bash复制编辑sudo apt update
sudo apt install redis-tools

这会安装 redis-cli 命令行工具,与你的 Redis 版本无强依赖,可以用于 Redis 5、6、7 都没问题。

在宿主机上,执行以下命令来创建 Redis 集群:

redis-cli --cluster create \192.168.111.130:7001 192.168.111.130:7002 192.168.111.130:7003 \192.168.111.130:7004 192.168.111.130:7005 192.168.111.130:7006 \--cluster-replicas 1

输入 yes 确认集群创建。


✅ 步骤 7:验证集群状态

创建完成后,执行以下命令来检查集群状态:

docker exec -it redis-node-1 redis-cli -p 7001 cluster nodes

你应该能看到类似如下输出,显示所有节点的信息:

192.168.111.130:7001 master - 0 1681484071334 1 connected 0-5460
192.168.111.130:7002 master - 0 1681484071334 2 connected 5461-10922
192.168.111.130:7003 master - 0 1681484071334 3 connected 10923-16383
...

这表示你的 Redis 集群已经成功搭建,并且每个节点都已经正确加入。


🛠️ 常见问题解决

1. 如果提示 redis-cli not found,请执行以下命令安装 redis-cli

sudo apt install redis-tools -y

2. 如果某个节点无法启动,检查容器日志:

docker logs redis-node-1

如果遇到错误,可以根据日志进行排查。


🚀 完整集群部署步骤总结:

  1. 安装 Docker 和 Docker Compose。
  2. 创建项目文件夹并编写 docker-compose.yml 配置文件。
  3. 启动 Redis 集群服务。
  4. 确认节点是否启用集群模式。
  5. 使用 redis-cli 创建 Redis 集群。
  6. 验证集群节点。

相关文章:

  • node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)
  • RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
  • Marin说PCB之器件的3D数模匹配失效案例
  • 力扣刷题Day 43:矩阵置零(73)
  • MATLAB 在医疗行业的应用
  • 《AI大模型应知应会100篇》第52篇:OpenAI API 使用指南与最佳实践
  • 遗传算法求解异构车队VRPTW问题
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】8.4 数据故事化呈现(报告结构设计/业务价值提炼)
  • vue修改了node_modules中的包,打补丁
  • 【IP101】图像压缩技术详解:从JPEG到小波压缩的完整指南
  • Flink SQL DataStream 融合开发模式与动态配置热加载机制实战
  • 73页最佳实践PPT《DeepSeek自学手册-从理论模型训练到实践模型应用》
  • 【WEB3】区块链、隐私计算、AI和Web3.0——数据民主化(1)
  • 【CTFer成长之路】举足轻重的信息搜集
  • Vim 编辑器常用快捷键速查表
  • 【AXI总线专题】-AXI-LITE总线解读
  • Django rest_framework 信号机制生成并使用token
  • 如何使用Java从PDF文件中提取图像(教程)
  • SpringBoot学生操行评分系统源码设计开发
  • 【金仓数据库征文】金仓数据库:创新驱动,引领数据库行业新未来
  • 美乌基金协议:美国搞了一套可在资源富集地区复刻的商业模式
  • 巴基斯坦称约50名印度士兵在克什米尔实控线丧生
  • 对话|蓬皮杜策展人布莱昂:抽象风景中的中国审美
  • 美联储如期按兵不动,强调“失业率和通胀上升的风险均已上升”(声明全文)
  • 圆桌丨权威专家解读中俄关系:在新形势下共同应对挑战、共创发展机遇
  • 视频丨习近平主席出席俄方在机场举行的迎宾仪式