五分钟上手!Docker‑Compose 快速部署 Redis
为什么要用Docker部署Redis?
-d:后台启动--name:容器名-p:端口映射(宿主机 6379 → 容器 6379)-v:挂载本地 ./redis-data 目录,以实现 AOF 持久化redis:7.0:使用官方 7.0 镜像--appendonly yes:开启 AOF 持久化
Docker‑Compose 方式部署
自定义配置:通过挂载 redis.conf 调整内存、持久化方式、密码等重启策略**:unless-stopped 保证意外重启后自动恢复数据卷:持久化目录与配置文件分离
常用配置示例 (redis.conf)
常见问题 & 小贴士
(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.
验证:
复制
dockerps# 查看运行中的容器
redis-cli -h127.0.0.1 -p6379ping# 应返回 PONG1.2.
对于有多服务、配置更复杂的场景,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.
启动:
复制
docker-compose up -d1.
复制
# 关闭保护模式(仅在受信网络中使用)
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