https://hub.docker.com/_/redis



docker pull redis:8.2.2
  1. 拉取官方Redis镜像

bash
docker pull redis:8.2.2  # 推荐指定版本,避免自动更新导致兼容问题
  1. 创建数据卷持久化存储(关键!)

bash
mkdir -p /data/redis/data
chmod 777 /data/redis/data  # 确保容器有写入权限
  1. 运行Redis容器

bash
docker run -d \
  --name redis \
  -p 6379:6379 \
  -v /data/redis/data:/data \
  -v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  --restart=always \
  redis:8.2.2 \
  redis-server /usr/local/etc/redis/redis.conf
参数说明:

-d:后台运行
-p 6379:6379:宿主机端口映射到容器端口
-v:挂载数据卷(数据持久化)和配置文件
--restart=always:容器异常退出时自动重启
末尾指定配置文件路径启动
  1. 配置Redis参数(通过redis.conf)
    在宿主机创建配置文件/data/redis/conf/redis.conf,示例关键配置:

conf
# 基础配置
bind 0.0.0.0      # 允许所有IP访问(生产环境建议限制IP)
requirepass MyStrongPassword123!  # 设置访问密码
maxmemory 512mb   # 限制内存使用
maxmemory-policy allkeys-lru  # 内存淘汰策略

# RDB持久化
save 60 1000      # 每60秒有1000次写入时触发持久化
dir /data         # 持久化文件存储目录(与挂载目录一致)

# AOF持久化(可选)
appendonly yes
appendfsync everysec

  1. 验证部署成功

bash
docker exec -it redis redis-cli -a MyStrongPassword123!
127.0.0.1:6379> ping
PONG  # 出现此回复表示成功
  1. 常用管理命令

查看日志:docker logs redis
停止容器:docker stop redis
启动容器:docker start redis
删除容器:docker rm -f redis

关键注意事项
安全加固:
修改默认端口(如6380),通过-p 6380:6379映射
配置防火墙限制访问IP(如iptables -A INPUT -p tcp –dport 6379 -s 192.168.1.0/24 -j ACCEPT)
启用TLS加密(需配置证书)
性能优化:
根据业务调整maxmemory和淘汰策略
开启AOF+RDB双持久化(配置文件启用)
集群部署:
使用redis:7.0+支持集群模式,需配置cluster-enabled yes
通过docker run创建多个节点并加入集群
监控:
暴露Redis的监控端口(默认需配置)
配合Prometheus+Grafana监控内存、连接数等指标
通过以上步骤,可实现生产级Redis容器化部署,兼顾数据安全、持久化存储与性能优化。如需高可用架构,可结合Redis Sentinel或Redis Cluster方案扩展。


$ docker run --rm -v /your/host/path:/data redis chown -R redis:redis /data

$ docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf
文档更新时间: 2025-11-02 13:55   作者:admin