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

使用 Docker 部署 Redis 的完整指南

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

JavaCoder发布于 2025/11/7更新于 2026/10/25100 浏览
使用 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 高可用集群

更多推荐文章

查看全部
  • Adobe Illustrator 2025 安装配置与高效使用指南
  • 电影推荐与票房预测系统:基于 Python+Flask+ 机器学习算法
  • 临床智能体与感知 AI 融合:基于 Python 的医疗 NLP 技术解析
  • 临床智能体与感知 AI 融合:基于 Python 的医疗 NLP 实践
  • SketchUp STL 插件:3D 建模与打印无缝转换指南
  • Java 基于百度天气 API 实现海外城市实时天气获取
  • Python AI 大模型部署指南:本地运行、API 服务与 Docker 封装
  • Java Web 开发:JSON 基础、@Test 测试与 Cookie/Session/请求处理
  • 鸿蒙金融理财全栈项目:基础架构、数据安全与用户体验
  • AI 工程化实战:RAG 与 Agent 融合架构详解
  • ERNIE-4.5-0.3B 轻量模型部署指南与性能测评
  • Web 可访问性最佳实践:确保所有用户平等访问
  • Pico 4XVR 1.10.13 安装与使用教程
  • AI 辅助编程:利用 GitHub Copilot 等工具提升开发效率
  • 前缀和算法实战:寻找中心下标与除自身外乘积
  • 基于 Kiro 与 AIClient-2-API 免费调用 Claude Opus 4.5 实战
  • Python+Django 城市化自习室管理系统设计与实现
  • 2721. 并行执行异步函数
  • 算法基础:一维与二维前缀和详解
  • CogVideoX-2b 一键 WebUI 使用体验

相关免费在线工具

  • 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