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

12、Docker Compose 安装 Redis

🚀CentOS 9 下使用 Docker Compose 安装 Redis(覆盖 99% 使用场景)详解教程

标签:Redis、CentOS9、Docker、Docker Compose、Redis Desktop Manager、持久化、集群配置、CSDN 优质文章


🧠 一、前言

Redis 作为高性能的 键值对存储数据库,在缓存、排行榜、消息队列、实时计算等场景广泛使用。本文将以 CentOS 9 + Docker Compose 为基础,带你一步步部署生产级 Redis 实例,兼容99% Redis 使用场景,并集成可视化工具 RedisInsight,实现可视化管理、持久化存储、密码安全、端口映射等功能。


🛠️ 二、环境准备

✅ 系统环境

项目版本
操作系统CentOS Stream 9
Docker24.x 以上
Docker Composev2.x
Redis 镜像redis:7.2
可视化工具Redis Desktop Manager(Web UI)

📦 三、Docker Compose 安装 Redis

1️⃣ 创建项目目录结构

在这里插入图片描述

mkdir -p /etc/docker/docker-redis/data
mkdir -p /etc/docker/docker-redis/conf
cd /etc/docker/docker-redis

2️⃣ 创建 redis.conf 配置文件

conf/redis.conf 中写入以下配置,开启持久化、设置密码:

# 文件:/etc/docker/docker-redis/conf/redis.conf
bind 0.0.0.0
port 6379
requirepass 123456
appendonly yes
protected-mode yes
databases 16

✅ 说明:

  • appendonly yes 开启 AOF 持久化
  • requirepass 设置访问密码
  • protected-mode 防止外部非授权访问

3️⃣ 编写 docker-compose.yml

version: '3.8'services:redis:image: redis:7.2container_name: redisrestart: alwaysports:- "6379:6379"volumes:- ./data:/data- ./conf/redis.conf:/etc/docker/docker-redis/conf/redis.confcommand: ["redis-server", "/etc/docker/docker-redis/conf/redis.conf"]

以下是您提供的 docker-compose.yml 文件中每一行的详细中文表格解释

🧾 Docker Compose 配置逐行解析表格(版本 3.8
行号配置项含义/说明
1version: '3.8'指定 Docker Compose 的版本,3.8 是兼容 Docker 19.03+ 的推荐版本,适用于生产环境。
3services:定义要部署的服务集合。

🧱 Redis 服务配置解释
行号配置项含义/说明
4redis:Redis 服务名称,用作容器标识和网络别名。
5image: redis:7.2指定使用 Redis 官方镜像,版本为 7.2。
6container_name: redis指定容器名称为 redis,方便使用 docker ps 查看。
7restart: always容器异常退出后自动重启,保证服务高可用。
8ports:宿主机与容器的端口映射配置。
9- "6379:6379"将宿主机的 6379 端口映射到容器的 6379 端口(Redis 默认端口)。
10volumes:映射宿主机与容器的文件目录,实现数据和配置的持久化。
11- ./data:/data宿主机当前目录的 ./data 映射到容器内 Redis 数据目录 /data,用于 AOF/RDB 持久化文件保存。
12- ./conf/redis.conf:/etc/docker/docker-redis/conf/redis.conf将自定义 Redis 配置文件挂载到容器内部,路径保持一致以便命令行加载。
13command: ["redis-server", "/etc/docker/docker-redis/conf/redis.conf"]使用自定义配置文件启动 Redis 服务器。

📌 总结说明
服务功能对外端口数据持久化配置方式可视化支持
redis核心数据库服务6379./data:/data./conf/redis.conf✔️

🚀 四、启动 Redis 服务

cd /etc/docker/docker-redis
docker compose up -d

查看服务状态:

docker ps

在这里插入图片描述


🔍 五、连接测试

✅ CLI 方式

docker exec -it redis redis-cli -a 123456

输出示例:

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name "Redis Docker"
OK
127.0.0.1:6379> get name
"Redis Docker"

在这里插入图片描述


🌐 六、可视化管理工具 Redis Desktop Manager(RDM)

1️⃣ 添加 Redis 连接

下载地址

  • Host: 你的服务器 IP
  • Port: 6379
  • Auth: yourStrongPassword
  • Name: 连接名称

在这里插入图片描述

连接成功后即可管理 Redis 数据。


🧪 七、持久化验证

1️⃣ 添加数据

127.0.0.1:6379> set demo "persist test"

2️⃣ 重启 Redis 容器

docker restart redis

3️⃣ 再次连接并验证

127.0.0.1:6379> get demo
"persist test"

✅ 成功说明 AOF 持久化正常


🔒 八、安全加固建议

项目建议
密码使用复杂密码,避免弱口令
防火墙限制 Redis 端口访问,仅允许内网
TLS生产环境推荐启用 Redis TLS 加密
配置文件不暴露 redis.conf,加入访问控制

🔄 九、常见 Redis 用法(覆盖 99% 场景)

🌟 字符串

SET key value
GET key
INCR counter

🌟 哈希

HSET user:1 name "Tom"
HGET user:1 name

🌟 列表

LPUSH messages "hello"
LRANGE messages 0 -1

🌟 集合

SADD tags redis docker
SMEMBERS tags

🌟 有序集合

ZADD scores 100 "Alice" 95 "Bob"
ZRANGE scores 0 -1 WITHSCORES

🌟 过期设置

SETEX token 300 "abc123"
TTL token

🌟 发布订阅

SUBSCRIBE news
PUBLISH news "Redis is awesome!"

🧹 十、停止与清理

停止服务

docker compose down

删除数据

rm -rf /etc/docker/docker-redis/data/*

📌 十一、总结

通过本教程,你已经成功:

  • 在 CentOS 9 上通过 Docker Compose 部署了生产可用的 Redis 实例;
  • 实现了密码保护、AOF 持久化;
  • Redis Desktop Manager可视化工具;
  • 掌握了 Redis 高频命令与使用场景;
  • 提升了 Redis 安全性。

📚 附录:参考资料

  • Redis 官方文档
  • RedisInsight 管理工具
http://www.xdnf.cn/news/17066.html

相关文章:

  • Baumer相机如何通过YoloV8深度学习模型实现农作物水稻病虫害的检测识别(C#代码UI界面版)
  • PHP官方及第三方下载地址全指南(2025最新版)
  • 芯片封装(DIP、SOP、QFP、QFN、BGA、LGA、PGA)
  • 加载量化模型
  • 第十八天:C++进制之间的转换
  • React 表单处理:移动端输入场景下的卡顿问题与防抖优化方案
  • 【文献分享】Machine learning models提供数据和代码
  • 当前就业形势下,软件测试工程师职业发展与自我提升的必要性
  • JSON巴巴 - 专业JSON格式化工具:让任何JSON都能完美格式化
  • 支持多网络协议的测试工具(postman被无视版)
  • Enhancing Long Video Question Answering with Scene-Localized Frame Grouping
  • 从“T+1”到“T+0”:基于SQL构建MES到数据仓库的数据采集通道
  • SassSCSS:让CSS拥有超能力的预处理器
  • LVS-DR模式高性能负载均衡实战
  • C语言:栈的实现和剖析
  • css怪异模式(Quirks Mode)和标准模式(Standards Mode)最明显的区别
  • 【Java String】类深度解析:从原理到高效使用技巧
  • 软件架构:系统结构的顶层设计与战略约束
  • webrtc弱网-OveruseFrameDetector源码分析与算法原理
  • C++ 类和对象(1)
  • 【qt5_study】1.Hello world
  • SpringCloud学习------Hystrix详解
  • 奇偶校验码原理与FPGA实现
  • ubuntu自动重启BUG排查指南
  • Android 性能基准测试(Benchmark)完全指南:专业方法与最佳实践
  • 【RK3576】【Android14】Uboot下fastboot命令支持
  • 磁悬浮转子振动控制:主动电磁力如何成为高速旋转的“振动克星”
  • 基于Java AI(人工智能)生成末日题材的实践
  • 【docker】UnionFS联合操作系统
  • 《Linux编译器:gcc/g++食用指南》