Mac M系列芯片(M1/M2)Docker安装Redis并配置Redis持久化

本文介绍了如何使用Docker安装Redis6.2.12,并详细讲解了如何配置Redis的持久化机制,包括RDB和AOF,以及如何设置连接密码。通过修改redis.conf文件,启用了AOF持久化,并设置了数据保存位置和容器端口映射,确保数据在容器重启后仍能保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker安装Redis

安装

拉取镜像(以Redis6.2.12为例)

docker pull redis:6.2.12

查看已拉取到本地的镜像

docker image ls

 运行镜像(开启容器)

docker run --name redis_container_name -d redis:6.2.12

测试

进入容器

docker exec -ti redis_container_name bash

 

配置Redis持久化

场景

使用Docker拉取的Redis,从docker中启动redis容器,默认是没有配置文件的

持久化

  • RDB:按照一定的时间间隔定时以快照的形式保存,也可主动触发
  • AOF:以记录日志的方式进行保存
  • Redis持久化方式,目前有RDB和AOF,默认的是RDB,具体每种的保存/实现/触发机制,以及优缺点,自行百度。

准备

  1. 去官网下载Reids中redis.conf的配置文件,总之想办法找一份redis.conf的配置文件
  2. 创建文件夹/Users/leo/docker/redis和/Users/leo/docker/redis/data用来存放数据(可以是其他位置,/Users/leo笔者Mac上的用户目录,等价于~目录,读者自行调整目录)
  3. 将redis.conf放到/Users/leo/docker/redis目录下

配置文件修改

注释掉bind,不然只能安装Redis本机访问

#bind 127.0.0.1

开启AOF持久化

appendonly yes

写入机制

#每次有修改就立刻写入
# appendfsync always
#每秒钟写入一次(推荐该方式)
appendfsync everysec
#让Redis自动判断
# appendfsync no

保存文件的名字,默认即可

appendfilename "appendonly.aof"

保存数据的位置

#当前目录,可选择其他目录
dir ./

配置连接密码

requirepass pwd123456

运行容器

docker run --restart=always -p 6379:6379 --name redis \
-v /Users/leo/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /Users/leo/docker/redis/data:/data \  
-d redis:6.2.12 \
redis-server /etc/redis/redis.conf --appendonly yes

参数说明:

  • docker run:运行Docker镜像
  • –restart=always:当docker重启时,该容器也会重新启动
  • -p:映射端口号,宿主机端口映射到容器内部端口
  • –appendonly yes:持久化
  • –name redis:设置容器名称为redis
  • -v /Users/leo/docker/redis/redis.conf:/etc/redis/redis.conf:将宿主机中redis.conf文件映射到docker中
  • -v /Users/leo/docker/redis/data:/data:将容器的/data目录挂载到宿主机的/Users/leo/docker/redis/data目录(数据持久化)
  • -d redis:6.2.12:选择运行的Docker镜像并指定Tag(不指定的话默认是latest)
  • redis-server /etc/redis/redis.conf:以加载配置文件方式启动

测试

运行过之后,重启Redis服务,将会在/Users/leo/docker/redis/data文件夹中生成保存的文件

 参考文章

1. Docker配置Redis持久化

2. DockerHub-Redis

### 如何在 Docker安装配置 Redis 实现持久化存储 要在 Docker 容器中运行 Redis 启用持久化存储,可以按照以下方法操作: #### 启动带有持久化Redis 容器 为了使 Redis 数据能够保存到本地磁盘上,在启动容器时需要挂载宿主机的一个目录作为数据卷。通过 `-v` 参数指定宿主机上的路径映射到容器内的 `/data` 路径,设置 `--appendonly yes` 来开启 AOF(Append Only File)模式。 以下是具体的命令示例: ```bash docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest redis-server --appendonly yes ``` 这条命令的作用如下: - `-p 6379:6379`: 将容器内部的端口 6379 映射到宿主机的相同端口。 - `-v $PWD/data:/data`: 把当前工作目录下的 `data` 文件夹挂载至容器中的 `/data` 目录,用于存储持久化文件。 - `redis:latest`: 使用官方最新的 Redis 镜像版本。 - `redis-server --appendonly yes`: 设置 Redis持久化方式为 AOF 模式[^1]。 #### 关于 Redis 持久化机制的选择 Redis 提供两种主要的数据持久化方案——RDB 和 AOF。其中 RDB 是一种快照式的持久化策略,默认情况下每五分钟自动触发一次;而 AOF 则记录每次写入操作的具体指令,因此具备更高的安全性以及更少的数据丢失风险。对于大多数生产环境而言,建议同时启用这两种机制来保障数据可靠性。 当采用上述命令创建容器时,实际上已经启用了 AOF 功能。如果希望进一步调整参数或者单独依赖 RDB,则可以在启动前自定义一份配置文件通过额外选项加载它。 #### 创建定制版 Config 文件的方法 假如想修改默认行为比如更改备份频率或是关闭某些特性的话,先准备一个名为 `redis.conf` 的文本档内容如下所示: ```conf save 900 1 save 300 10 save 60 10000 appendonly no dir /data/ ``` > 上述例子表示每隔十五分钟如果有至少一条改动就生成新的 dump.rdb 文件存放到指定位置;同时也禁用了AOF日志功能以便单纯依靠定期全量转储完成恢复作业。 之后再利用下面的方式引入该设定表单: ```bash docker run -p 6379:6379 -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data -d redis:latest redis-server /usr/local/etc/redis/redis.conf ``` 这样做的好处是可以灵活控制各项细节满足特定需求的同时保持良好的性能表现。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值