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 |
Docker | 24.x 以上 |
Docker Compose | v2.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
)
行号 | 配置项 | 含义/说明 |
---|---|---|
1 | version: '3.8' | 指定 Docker Compose 的版本,3.8 是兼容 Docker 19.03+ 的推荐版本,适用于生产环境。 |
3 | services: | 定义要部署的服务集合。 |
🧱 Redis 服务配置解释
行号 | 配置项 | 含义/说明 |
---|---|---|
4 | redis: | Redis 服务名称,用作容器标识和网络别名。 |
5 | image: redis:7.2 | 指定使用 Redis 官方镜像,版本为 7.2。 |
6 | container_name: redis | 指定容器名称为 redis ,方便使用 docker ps 查看。 |
7 | restart: always | 容器异常退出后自动重启,保证服务高可用。 |
8 | ports: | 宿主机与容器的端口映射配置。 |
9 | - "6379:6379" | 将宿主机的 6379 端口映射到容器的 6379 端口(Redis 默认端口)。 |
10 | volumes: | 映射宿主机与容器的文件目录,实现数据和配置的持久化。 |
11 | - ./data:/data | 宿主机当前目录的 ./data 映射到容器内 Redis 数据目录 /data ,用于 AOF/RDB 持久化文件保存。 |
12 | - ./conf/redis.conf:/etc/docker/docker-redis/conf/redis.conf | 将自定义 Redis 配置文件挂载到容器内部,路径保持一致以便命令行加载。 |
13 | command: ["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 管理工具