docker安装redis?如何配置持久化策略?

本文详细介绍了如何从docker仓库拉取Redis镜像,并配置持久化策略,包括创建挂载目录、配置文件同步和AOF/RDB备份。通过实例演示了如何设置RDB和AOF文件路径,确保数据安全与持久化。

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

一、拉取redis镜像

1.docker仓库找到想要的镜像版本

docker镜像地址

2.拉取镜像

docker pull redis:7.0.4

二、安装docker并配置持久化策略

为什么要配置持久化?对持久化文件进行挂载?

如不配置持久化,当docker容器重启后,数据都会丢失。如果只是简单的在容器内部进行持久化配置,那当容器异常或不小心被删除后,所有的持久化也会丢失。

1.创建挂载文件目录 

mkdir -p /home/redis/conf #挂载redis的配置文件
mkdir -p /home/redis/data #挂载aof及rdb文件

 2.获取redis.conf

redis tar包下载

(redis.conf建议与所拉取的镜像版本一致,不然启动可能会报错)

3.创建容器并启动

docker run --name redis -p 6379:6379 \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf --privileged=true -d redis:7.0.4 \
redis-server /etc/redis/redis.conf

--privileged=true  给容器赋予root权限,否则无法appendonly

redis-server  使用后面的配置文件启动redis

docker容器启动时,会将宿主机/home/redis/conf/redis.conf 同步到容器 /etc/redis 内,随后容器以/etc/redis/redis.conf 这个路径的配置文件启动。

容器启动后,生成的持久化文件会映射到宿主机/home/redis/data下

(docker对容器的停止、重启也会触发快照的生成)

4.配置文件

只需要修改宿主机的配置文件,既/home/redis/conf/redis.conf 后重启容器就可生效。

RDB配置:

vi /home/redis/conf/redis.conf

输入 /SNAP 回车找到RDB配置

配置rdb文件的存放路径,与上述映射路径一直,方便同步。 

save的规则满足的情况下,会自动触发rdb规则

备份会自动在/home/redis/data生成一个dump.rdb文件 

AOF配置:

输入 /appendonly 找到AOF配置

将appendonly 改为yes

 备份会自动在/home/redis/data生成一个appendonly.aof文件

 开启远程连接:

输入 /NETWORK 找到远程连接配置

 

### 如何在 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 ``` 这样做的好处是可以灵活控制各项细节满足特定需求的同时保持良好的性能表现。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值