Docker安装Redis,简单这几步,搞定!

1. 拉取redis镜像

# 拉取最新版redis(也可以指定版本号:docker pull redis:<verison>)
docker pull redis

2. 创建挂载目录

# 在宿主机上一次性创建多个目录
mkdir -p /docker/redis/{conf,data,log}

3. 配置

在宿主机的 /docker/redis/conf 目录下创建 redis.conf 文件,其配置内容如下:

注意:以下配置仅供参考,可根据实际情况进行调整和完善

# 基础配置
bind 0.0.0.0  # 允许 Redis 监听所有网络接口(即所有 IP 地址)的连接,生产环境建议绑定内网 IP,避免直接暴露在公网。
port 6379 # Redis 服务监听的端口号,默认是 6379。可修改为其他端口以增强安全性。
timeout 300  # 客户端连接空闲超过300秒(即5分钟)后自动断开,释放资源。
maxclients 10000 # 限制Redis同时支持的最大客户端连接数为 10000。超过此值会拒绝新连接。
daemonize yes # 以守护进程(后台)模式运行 Redis。在 Docker 中部署时需设置为 no,否则容器会立即退出。
​
# 持久化
save 900 1  # 在 900 秒(15 分钟)内,如果至少发生 1 次数据修改,则触发一次 RDB 快照保存。
save 300 10 # 在 300 秒(5 分钟)内,如果至少发生 10 次数据修改,则触发一次 RDB 快照保存。
save 60 10000 # 在 60 秒(1 分钟)内,如果至少发生 10000 次数据修改,则触发一次 RDB 快照保存。
dbfilename dump.rdb # RDB 快照的文件名,默认为 dump.rdb。
dir /data  # RDB 快照和 AOF 文件的存储路径,需确保该目录已挂载到宿主机(如 /docker/redis 目录)。
appendonly yes # 启用 AOF(Append-Only File)持久化模式,记录所有写操作。
appendfsync everysec # AOF 日志同步策略:每秒同步一次磁盘,平衡性能与数据安全性(可选 always 或 no)。
​
# 安全
requirepass redis123 # 设置客户端连接密码,客户端需通过 AUTH 密码 认证后才能操作。生产环境必须设置强密码,避免使用简单密码。
rename-command FLUSHDB "" # 禁用 FLUSHDB 命令(清空当前数据库),防止误操作或恶意攻击。
rename-command FLUSHALL "FLUSHALL_ENCRYPTED" # 将 FLUSHALL 命令重命名为 FLUSHALL_ENCRYPTED,需使用新名称执行该命令。
​
# 内存管理
maxmemory 4gb # 限制 Redis 最大可用内存为 4GB,超出限制时根据策略淘汰数据。
maxmemory-policy volatile-lru # 当内存不足时,优先淘汰最近最少使用(LRU)的键(仅淘汰有过期时间的键)。allkeys-lru:所有键参与淘汰。volatile-ttl:淘汰剩余生存时间(TTL)最短的键。noeviction:禁止淘汰数据,直接报错(慎用)。

4. 授权

# 授权于文件所有者(读、写、执行)权限
# 授权于文件所属组(读、执行)权限
# 授权于文件所属组(读、执行)权限
# -R 表示递归,即 /docker/redis 目录及其子目录和文件都会应用此权限设置
chmod 755 -R /docker/redis

5. 启动

docker run -d \
  --name redis \
  -p 6380:6379 \
  -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \  
  -v /docker/redis/data:/data \                            
  -v /docker/redis/log:/var/log/redis \                   
  redis \
  redis-server /etc/redis/redis.conf

6. 测试连接

image-20250313160018502

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值