五分钟上手!Docker‑Compose 快速部署 Redis

为什么要用Docker部署Redis?

(1) 环境隔离

不同项目可用不同Redis版本互不干扰清爽的容器环境,卸载也只需一条命令

(2) 快速启动

官方镜像一键拉取,秒级启动无需手动编译、配置依赖

(3) 便于运维与扩展

容器编排Kubernetes/Docker‑Compose一键横向扩容统一监控、日志收集更简单

(4) 版本可控

镜像标签精确对应 Redis 版本回滚也只要切换镜像标签

优缺点

维度

优势

劣势

上手难度

简单:docker run 一条命令搞定

需先理解 Docker 基础

资源隔离

强:各容器独立文件系统与网络

容器层额外消耗少量资源

数据持久化

可用 -v 或 volume 灵活挂载宿主目录

若不小心,持久化目录误删会丢数据

可扩展性

配合编排工具轻松伸缩

单机环境多实例需手动端口映射管理

安全

可通过自定义网络与安全策略隔离访问

需额外配置密码/ACL,防火墙等才能保证安全

一条命令快速跑起Redis
复制
docker run -d\ --name redis-demo \ -p6379:6379 \ -v ./redis-data:/data \ redis:7.0 \ redis-server --appendonlyyes1.2.3.4.5.6.
-d:后台启动--name:容器名-p:端口映射(宿主机 6379 → 容器 6379)-v:挂载本地 ./redis-data 目录,以实现 AOF 持久化redis:7.0:使用官方 7.0 镜像--appendonly yes:开启 AOF 持久化

验证:

复制
dockerps# 查看运行中的容器 redis-cli -h127.0.0.1 -p6379ping# 应返回 PONG1.2.
Docker‑Compose 方式部署

对于有多服务、配置更复杂的场景,docker-compose显得更优雅。只需一份docker-compose.yml,即可一键启动。

复制
version:3.8 services: redis: image: redis:7.0 container_name: redis-demo restart: unless-stopped ports: -"6379:6379" volumes: - ./redis-data:/data - ./redis.conf:/usr/local/etc/redis/redis.conf command:["redis-server","/usr/local/etc/redis/redis.conf"]1.2.3.4.5.6.7.8.9.10.11.12.13.
自定义配置:通过挂载 redis.conf 调整内存、持久化方式、密码等重启策略**:unless-stopped 保证意外重启后自动恢复数据卷:持久化目录与配置文件分离

启动:

复制
docker-compose up -d1.
常用配置示例 (redis.conf)
复制
# 关闭保护模式(仅在受信网络中使用) protected-mode no # 监听所有网卡 bind 0.0.0.0 # 设置访问密码 requirepass YourStrongP@ssw0rd # 开启 AOF 持久化 appendonly yes appendfilename "appendonly.aof" # 内存极限(单位 bytes) maxmemory 256mb maxmemory-policy allkeys-lru1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.
常见问题 & 小贴士

(1) 如何修改端口?

只需在 ports 或 -p 中调整映射,例如 - "6380:6379"。

(2) 数据目录无权限?

检查宿主机目录拥有者,最好 chown 1000:1000 redis-data,或在 Compose 中加 user: "1000:1000"。

(3) 如何备份数据?

定期将宿主机 redis-data 目录打包或同步到远程存储。

(4) 安全性考量

强烈建议设置 requirepass结合 Docker 网络,限制外网访问在生产环境中,使用 Redis Sentinel 或 Cluster 提高可用性小结docker run:零依赖、快速体验docker-compose:结构清晰、易于维护

友好提示:本地测试、开发环境极佳;生产环境请结合编排、监控与备份方案

阅读剩余
THE END