Docker安装redis详细教程

工具版本介绍:Docker 20.10.21Redis6.2.6
配置文件中的参数介绍,引用自大佬:redis.conf 配置参数详解
docker不熟的可参考我的博客:docker的使用

1、创建redis需要的两个文件夹,用于数据卷挂载

mkdir -p /usr/local/docker/redis6.2.6/conf # 配置文件存放目录
mkdir -p /usr/local/docker/redis6.2.6/data # 数据文件存放目录

2、创建redis需要的配置文件

touch /usr/local/docker/redis6.2.6/conf/redis.conf # 配置文件

配置文件的内容,可从文末获取,若有其它需求,可以从http://download.redis.io/releases/ 下载其它版本redis的配置文件
注意:
如果要实现非本地访问,需要修改文末提供的配置文件中的配置参数
bind 127.0.0.1 -::1 修改成 bind 0.0.0.0 -::1
protected-mode yes修改成protected-mode no
requirepass 123456为redis访问密码的配置参数,可自定义

3、拉取镜像

docker pull redis:6.2.6

4、创建并启动容器

上诉准备工作完成后,就可以执行docker命令,创建并启动redis了

docker run -itd --privileged=true -p 6379:6379 --name my_redis \
-v /usr/local/docker/redis6.2.6/data:/data \
-v /usr/local/docker/redis6.2.6/conf/redis.conf:/etc/redis/redis.conf \
redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes

参数说明:
-i:
以交互模式运行容器,通常与 -t 同时使用;
-t:
为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d:
后台运行容器,并返回容器ID;
--privileged=true
容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-p:
端口映射,格式为:主机(宿主)端口:容器端口
--name:
指定创建后的容器名称
-v /usr/local/docker/redis6.2.6/data:/data
映射数据目录
-v /usr/local/docker/redis6.2.6/conf/redis.conf:/etc/redis/redis.conf
映射配置文件
redis-server /etc/redis/redis.conf
指定redis-server的启动配置文件
--appendonly yes
开启数据持久化

5.访问

我的redis是部署在云服务器上的,使用Another Redis DeskTop Manager工具访问,也是可以访问成功的
在这里插入图片描述

附参数列表:redis.conf文件,附带部分参数中文介绍

bind 0.0.0.0 -::1 # 绑定的接口。默认为本地
protected-mode no
port 6379 # 指定redis运行的端口
tcp-backlog 511
timeout 0 # 设置客户端连接时的超时时间,单位为秒
tcp-keepalive 300 # 指定TCP连接是否为长连接
daemonize no # 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes
pidfile /var/run/redis_6379.pid # 当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis服务时,需要指定不同的pid文件和端口。
loglevel notice # server日志级别,合法值:debug,verbose,notice,warning 默认为notice
logfile "" # 指定Redis日志记录方式,默认值为stdout
databases 16 # 设定redis所允许的最大“db簇”(可以理解为数据库)的个数,默认为16个簇
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
stop-writes-on-bgsave-error yes # 默认值为yes。当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据。
rdbcompression yes # 是否启用rdb文件压缩手段,默认为yes
rdbchecksum yes # 是否对rdb文件使用CRC64校验和, 默认为“yes”
dbfilename dump.rdb # 镜像备份文件的文件名
rdb-del-sync-files no
dir ./ # 指定rdb/AOF文件的目录位置,只能为文件夹不能为文件
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
requirepass 123456
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no # 开启这种模式后,Redis会在appendonly.aof文件中添加每一个写操作,这个文件会在Redis启动时被读取来在内存中重新构建数据集,默认为关闭
appendfilename "appendonly.aof" # AOF文件名称 (默认: "appendonly.aof")
appendfsync everysec # 调用fsync()函数通知操作系统立刻向硬盘写数据,默认是"everysec",每间隔1秒进行一次fsync,另两种分别是no:不fsync, 只是通知OS可以flush数据了,具体是否flush取决于OS。性能更好;以及always: 每次写入append only 日志文件后都会fsync。性能差,但很安全
no-appendfsync-on-rewrite no # AOF策略设置为always或者everysec时,后台处理进程(后台保存或者AOF日志重写)会执行大量的I/O操作。在某些Linux配置中会阻止过长的fsync()请求。注意现在没有任何修复,即使fsync在另外一个线程进行处理。为了减缓这个问题,可以设置下面这个参数no-appendfsync-on-rewrite
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 "Ex"
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
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
jemalloc-bg-thread yes
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值