一、拉取redis镜像
1.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.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 找到远程连接配置