🚀 为什么要用Docker部署Redis?
- 环境隔离
-
不同项目可用不同Redis版本互不干扰 -
清爽的容器环境,卸载也只需一条命令 - 快速启动
-
官方镜像一键拉取,秒级启动 -
无需手动编译、配置依赖 - 便于运维与扩展
-
容器编排 Kubernetes/Docker‑Compose
一键横向扩容 -
统一监控、日志收集更简单 - 版本可控
-
镜像标签精确对应 Redis 版本 -
回滚也只要切换镜像标签
✅ 优缺点
|
|
|
---|---|---|
|
docker run 一条命令搞定 |
|
|
|
|
|
-v 或 volume 灵活挂载宿主目录 |
|
|
|
|
|
|
|
🐳 一条命令快速跑起Redis
docker run -d--name redis-demo -p6379:6379 -v ./redis-data:/data redis:7.0 redis-server --appendonlyyes
-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# 应返回 PONG
📦 Docker‑Compose 方式部署
对于有多服务、配置更复杂的场景,
docker-compose
显得更优雅。只需一份docker-compose.yml
,即可一键启动。version:'3.8'services:redis:image: redis:7.0container_name: redis-demorestart: unless-stoppedports:-"6379:6379"volumes:- ./redis-data:/data- ./redis.conf:/usr/local/etc/redis/redis.confcommand:["redis-server","/usr/local/etc/redis/redis.conf"]
-
自定义配置:通过挂载 redis.conf
调整内存、持久化方式、密码等 -
重启策略**: unless-stopped
保证意外重启后自动恢复 -
数据卷:持久化目录与配置文件分离
启动:
docker-compose up -d
🛠 常用配置示例 (
redis.conf
)# 关闭保护模式(仅在受信网络中使用)protected-mode no# 监听所有网卡bind 0.0.0.0# 设置访问密码requirepass YourStrongP@ssw0rd# 开启 AOF 持久化appendonly yesappendfilename "appendonly.aof"# 内存极限(单位 bytes)maxmemory 256mbmaxmemory-policy allkeys-lru
🔍 常见问题 & 小贴士
- 如何修改端口?
只需在 ports
或-p
中调整映射,例如- "6380:6379"
。 - 数据目录无权限?
检查宿主机目录拥有者,最好 chown 1000:1000 redis-data
,或在 Compose 中加user: "1000:1000"
。 - 如何备份数据?
定期将宿主机 redis-data
目录打包或同步到远程存储。 - 安全性考量
-
强烈建议设置 requirepass
-
结合 Docker 网络,限制外网访问 -
在生产环境中,使用 Redis Sentinel 或 Cluster 提高可用性
🎯 小结
docker run
:零依赖、快速体验 docker-compose
:结构清晰、易于维护 - 友好提示
:本地测试、开发环境极佳;生产环境请结合编排、监控与备份方案
扫码关注公众号
原文始发于微信公众号(攻城狮成长日记):5分钟上手!Docker‑Compose快速部署Redis
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论