1. 下载镜像
docker pull redis
# 没有指定版本默认下载最新镜像
2. 创建容器并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
# --name:给容器起名字
# -v /mydata/redis/data:/data 将容器的数据文件夹挂载到系统的/mydata/redis/data目录下
# -d redis redis-server /etc/redis/redis.conf (小坑,需要预先创建这个文件)
# 以后启动reids其实就是执行redis-server /etc/redis/redis.conf
# 即加载指定的配置文件夹启动。
3. 修改配置文件进行持久化
cd /mydata/redis/conf
vim redis.conf
# 打开aof持久化方式,默认不开启
appendonly yes
# aof写数据策略,有三个可选项
# always:来一条就存一条
# everysec:每一分钟将缓冲区中的命令同步到aof文件中
# no:由系统控制
appendfsync everysec
# aof文件名
# 建议appendonly-端口号.aof
appendfilename appendonly.aof
# aof自动出发重写条件
# aof最小重写尺寸,单位为字节
# auto-aof-rewrite-min-size 1048576
# aof文件大小超过基准百分之多少后出发重写
# auto-aof-rewrite-percentage 100
# 设置rdb备份的名称,默认值为dump.rdb
# 经验:通常设置为dump-端口号.rdb
dbfilename dump.rdb
# 配置rdb文件的存储位置
# dir /data
# 存储至本地库时是否使用数据压缩,默认为yes。
# 不压缩可以节省cpu运行事件,但是文件巨大
rdbcompression yes
# 加载rdb文件前是否校验,默认yes
# 如果不校验可以节省10%读写性能,但有数据损坏风险
rdbchecksum yes
# 后台进行rdb存储过程出现错误,是否停止保存操作
# 默认开启
# stop-writes-on-bgsave-error yes
# rdb自动执行的条件
# 900秒内有1个键发生变化就进行后台rdb存储
save 900 1
save 300 10
save 60 10000
4. 查看运行时属性值
# 在客户端下敲入以下命令
info
5. 本机客户端连接redis
docker exec -it redis redis-cli