NASC.CN

53 object(s)
 

docker部署redis

创建配置文件

mkdir /usr/local/share/applications/redis && cd /usr/local/share/applications/redis
vi /usr/local/share/applications/redis/redis.conf
################################ SNAPSHOTTING  ################################
# 持久化保存策略配置
# 在900s内,如果至少有1个key进行了修改,就进行持久化操作
save 900 1
# 在300s内,如果至少有10个key进行了修改,就进行持久化操作
save 300 10
# 在60s内,如果至少有10000个key进行了修改,就进行持久化操作
save 60 10000
# 配置如果持久化出错,Redis是否禁止写入命令 yes:禁止写入命令,no:允许写入命令(存在数据丢失风险)
stop-writes-on-bgsave-error yes
# 配置是否压缩rdb文件。[开启(yes)的话,会消耗一定的cpu资源]
rdbcompression yes
# 保存rdb文件的时候,进行错误的检查校验
rdbchecksum yes
# 默认持久化保存后的文件名
dbfilename dump.rdb
# rdb文件保存的目录
dir ./
# 设置访问、登录的密码,设置requirepass 您的密码
requirepass 123456
############################## APPEND ONLY MODE ###############################
# 是否开启aof持久化模式,默认值:no,不开启。redis的默认持久化策略是edb模式
appendonly no
# 持久化文件名称
appendfilename "appendonly.aof"
# 持久化策略设置
# appendfsync always # 每次修改都进行持久化操作
appendfsync everysec # 每秒执行一次持久化操作
# appendfsync no     # 不执行持久化操作,相当于未开启aof持久化策略
# 设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,默认为no,建议yes
no-appendfsync-on-rewrite no
# AOF自动重写配置,默认值为100
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# Redis在以AOF方式恢复数据时,对最后一条可能出问题的指令的处理方式,默认值yes
aof-load-truncated yes
# 当重写AOF文件时,Redis能够在AOF文件中使用RDB前导码,以便更快地重写和恢复,启用此选项时,重写的AOF文件由两个不同的节组成:[RDB file][AOF tail],当加载AOF文件时,Redis通过以 “REDIS” 字符串开头的AOF文件识别出此文件是由RDB和AOF组合而成的,Redis会先加载RDB部分,然后再加载AOF部分,默认值yes
aof-use-rdb-preamble yes
################################### CLIENTS ####################################
# 设置客户端最大连接数,该配置一般无需修改,使用默认值即可
# maxclients 10000
############################## MEMORY MANAGEMENT ################################
# redis配置的最大内存容量
# maxmemory <bytes>
# 到达内存容量限制之后的处理策略
# maxmemory-policy noeviction

以配置文件创建容器

docker run --restart=always --privileged \
-p 8379:6379 \
--name redis \
-v /usr/local/share/applications/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/share/applications/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf

一键创建容器

docker run --restart=always --privileged \
-p 8379:6379 \
--name redis \
-v /usr/local/share/applications/redis:/etc/redis \
-v /usr/local/share/applications/redis/data:/data \
-d redis