跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

使用 Docker 部署 Redis 的完整指南

基于 Docker 容器技术实现 Redis 快速部署,涵盖环境准备、镜像拉取、配置文件优化、安全加固及常见问题排查。通过命令行操作完成服务启动与验证,提供主从复制与集群扩展方案,适用于生产环境参考。

JavaCoder发布于 2025/11/7更新于 2026/6/920 浏览
使用 Docker 部署 Redis 的完整指南

更新说明:本文基于 Redis 8.0.2 稳定版本,通过 Docker 容器技术实现快速部署,重点讲解配置文件优化与安全加固方案,适用于生产环境部署参考。

一、环境准备

1.1 系统要求

  • Linux 系统(CentOS 7+/Ubuntu 20.04+)
  • Docker 20.10.0+
  • Docker Compose 1.29.0+

1.2 软件版本

  • Redis: 8.0.2
  • 持久化存储:AOF + RDB 混合模式
  • 安全策略:密码认证 + 防火墙限制

二、部署流程

2.1 拉取官方镜像

# 拉取指定版本镜像
docker pull redis:8.0.2
# 验证镜像
docker images -a

2.2 创建配置体系

目录结构规划

mkdir -p /data/dockerData/redis/{conf,data,logs}
touch /data/dockerData/redis/conf/redis.config

配置文件详解(redis.config)

# Redis 服务器配置
# 绑定 IP 地址
#bind 127.0.0.1
# 服务器端口号
port 6379
# 配置密码
requirepass your_password
# 服务器运行模式,Redis 以守护进程方式运行
daemonize no
# 持久化配置
appendonly yes
appendfsync everysec
# 客户端闲置超时
timeout 60
# 最大连接数
maxclients 10000
tcp-keepalive 300
# 持久化规则
save 900 1
save 300 10
save 60 10000
# 线程数
tcp-backlog 511
# 数据库数量
databases 16
# AOF 配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 慢查询阈值
slowlog-log-slower-than 10000
slowlog-max-len 128
# 日志级别
loglevel notice
logfile stdout
# 内存调优参数
hash-max-ziplist-entries 512
list-max-ziplist-entries 512
set-max-intset-entries 512
zset-max-ziplist-entries 128

2.3 启动容器服务

完整部署命令

docker run \
  -p 6379:6379 \
  --name redis \
  -v /data/dockerData/redis/conf/redis.config:/etc/redis/redis.conf \
  -v /data/dockerData/redis/data:/data \
  -v /data/dockerData/redis/logs:/logs \
  -d \
  redis:8.0.2 \
  redis-server /etc/redis/redis.conf

参数解析:

参数作用
-d后台运行
-p端口映射
-v卷挂载(配置/数据/日志)

三、验证与调试

3.1 容器状态检查

docker ps -a

3.2 客户端连接测试

# 进入容器
docker exec -it redis bash
# 启动客户端
redis-cli
# 认证操作
AUTH your_password
# 测试写入
SET test_key "Hello Redis"
# 验证读取
GET test_key

四、安全加固

4.1 防火墙配置

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all | grep ports

4.2 访问控制

  • 网络层:云平台控制台限制 IP 白名单
  • 应用层:通过 bind 指令限制监听地址
  • 认证层:强制密码验证 + 命令重命名

五、常见问题排查

5.1 启动失败解决方案

# 查看容器日志
docker logs redis --tail 50
# 常见错误及处理:
# 1. 配置文件路径错误 → 检查-v 参数映射
# 2. 端口冲突 → 修改-p 参数端口号
# 3. 权限不足 → 添加--privileged 参数

5.2 内存溢出处理

  • 监控 used_memory 指标
  • 优化 maxmemory-policy 策略
  • 使用 Redis Cluster 分片集群

六、性能优化建议

优化维度推荐方案
内存管理启用 maxmemory+ 合适的淘汰策略
持久化AOF+RDB 混合模式
连接池客户端设置合理超时时间
网络使用 Pipeline 批量操作
监控集成 Prometheus+Grafana

七、扩展部署方案

7.1 主从复制架构

slaveof <master-ip> 6379
masterauth your_password

7.2 高可用集群

使用 Docker Compose 部署 3 节点集群:

version: '3'
services:
  redis-node-1:
    image: redis:8.0.2
    ports:
      - "6380:6379"
    command: redis-server --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000

扩展阅读:Redis 官方文档

目录

  1. 一、环境准备
  2. 1.1 系统要求
  3. 1.2 软件版本
  4. 二、部署流程
  5. 2.1 拉取官方镜像
  6. 拉取指定版本镜像
  7. 验证镜像
  8. 2.2 创建配置体系
  9. Redis 服务器配置
  10. 绑定 IP 地址
  11. 服务器端口号
  12. 配置密码
  13. 服务器运行模式,Redis 以守护进程方式运行
  14. 持久化配置
  15. 客户端闲置超时
  16. 最大连接数
  17. 持久化规则
  18. 线程数
  19. 数据库数量
  20. AOF 配置
  21. 慢查询阈值
  22. 日志级别
  23. 内存调优参数
  24. 2.3 启动容器服务
  25. 三、验证与调试
  26. 3.1 容器状态检查
  27. 3.2 客户端连接测试
  28. 进入容器
  29. 启动客户端
  30. 认证操作
  31. 测试写入
  32. 验证读取
  33. 四、安全加固
  34. 4.1 防火墙配置
  35. 4.2 访问控制
  36. 五、常见问题排查
  37. 5.1 启动失败解决方案
  38. 查看容器日志
  39. 常见错误及处理:
  40. 1. 配置文件路径错误 → 检查-v 参数映射
  41. 2. 端口冲突 → 修改-p 参数端口号
  42. 3. 权限不足 → 添加--privileged 参数
  43. 5.2 内存溢出处理
  44. 六、性能优化建议
  45. 七、扩展部署方案
  46. 7.1 主从复制架构
  47. 7.2 高可用集群
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • GitHub Copilot 接入第三方模型 API 指南
  • 在 GitHub Copilot 中接入第三方 OpenAI 兼容模型
  • MySQL 数据类型详解:数值、字符串与时间类型实战
  • OpenClaw 记忆管理实战:Token 压缩与双层记忆体系
  • CTF Web 入门:EZMD5 系列漏洞原理与绕过详解
  • Trae 插件全方位解析:AI 驱动的智能编程助手
  • AI 大模型在各国政务领域应用深度研究报告
  • Xilinx Vivado 付费 IP 核 License 状态解读与获取
  • IT 项目管理那些事儿
  • Awesome OpenClaw Skills:本地 AI 助手技能库指南
  • NUS 尤洋教授《实战 AI 大模型》书籍推荐与核心技术解析
  • Web 后端安全系列:PHP 基础语法与序列化
  • 前端 Network 性能优化场景解析
  • OpenClaw 可视化安装工具:支持多平台一键部署与 AI 集成
  • JavaScript 原型链核心机制与最佳实践
  • Java synchronized 全面解析:从入门使用到底层原理
  • PyMAVLink无人机通信终极指南:完整Python解决方案
  • C++ STL 核心基础:迭代器、auto 与范围循环
  • 大模型企业分化加剧,算力市场正式转入买方时代
  • Python 网络爬虫技术详解:原理、实战与最佳实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online