docker安装redis
1. 创建配置文件
- 创建目录
mkdir -p /opt/redis/conf/
- 创建配置文件
touch /opt/redis/conf/6379.conf
- 创建数据保存文件
mkdir -p /opt/redis/data
配置文件内容
bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile "6379.log"
dbfilename dump-6379.rdb
requirepass mcp2RliHg
masterauth mcp2RliHg
databases 16
always-show-logo yes
save ""
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
dbfilename:快照名字
requirepass:密码
masterauth:主节点密码,主从复制需要
save m n:开启RDB快照
appendonly:是否开启aof
aof-use-rdb-preamble:是否开启混合持久化
#指定为后端启动
daemonize yes
#设置密码
requirepass mcpredis
#端口号
port 6379
一个客户端空闲多少秒后关闭连接。(0代表禁用,永不关闭)
timeout 0
#换成redis所在的服务器IP
bind 0.0.0.0
protected-mode yes
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会
本地进行访问,拒绝外部访问。要是开启了密码 和bind,可以开启。否 则最好关闭,设置为no。
daemonize yes
默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
notify-keyspace-events Ex
:表示开启过期回调
- 创建启动命令
touch /opt/docker/redis.sh
内容如下
PORT=6379
docker stop redis-${PORT}
docker rm redis-${PORT}
docker run --name redis-${PORT} \
-p ${PORT}:${PORT} \
-v /opt/redis/conf/${PORT}.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
-d redis:4.0 \
redis-server /etc/redis/redis.conf
-d -> 以守护进程的方式启动容器
-p 6379:6379 -> 绑定宿主机端口
–name redis -> 指定容器名称
–privileged=true -> 提升容器内权限
-v ${REDIS_DIR}/conf/redis.conf:/etc/redis/redis.conf -> 映射配置文件
-v ${REDIS_DIR}/data:/data -> 映射数据目录