Docker安装Redis (全网最详细教程!!!)

一、Redis简介

二、简易版本启动(学习版)

1、一条命令直接搞定

2、docker ps 命令,查看本机docker运行的容器

3、docker logs 查看日志

4、测试连接

5、优缺点

三、生产版本启动

四、Docker 停止、删除、重启、启动容器


一、Redis简介

Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库高速缓存消息队列代理。

二、简易版本启动(学习版)

1、一条命令直接搞定

无需配置文件,所有的参数全部跟在docker 命令后,命令如下:

docker run --restart=always -p 6379:6379 --name myredis -d redis:6.2.1  --requirepass ningzaichun

启动效果:

备注:在宿主机没有镜像的情况,会自动在 Docker hub 的公开仓库中进行寻找和下载。

2、docker ps 命令,查看本机docker运行的容器
docker ps
docker ps -a # 查看全部的容器,包括已经停止的
3、docker logs 查看日志
docker logs [容器名 | 容器ID ]
docker logs -f  [容器名 | 容器ID ] #表示实时的跟踪日志输出
docker logs --since 30m myredis # 此处 --since 30m 是查看此容器30分钟之内的日志情况。

4、测试连接

测试本地连接

docker exec -it [容器名 | 容器ID] bash # 以交互的方式进入容器内部,具体的我这里没解释啦
#最近准备了一篇文章专门来讲这个

redis-cli
set k1 v1
auth zhangsan #自己设置的密码
get k1

测试外部连接(可使用redis链接工具RDM)

备注

1、如果你是云环境的话,记得要去开放安全端口,否则外部是无法连接的。

2、虚拟机环境的话,记得要去开放防火墙,或者直接关闭防火墙

5、优缺点

优点:

1、适用于各位搭建测试环境,直接一条命令到位,不需要考虑这考虑那

2、适用于新手玩redis,只是想要学习Redis命令,完全可以应付前期的学习,给予自己一定的正向反馈,让自己坚持学下去。

缺点:

1、数据比较容易丢失,因为没有配置需要落入磁盘,所以全部都是在内存中,一旦关机或者容器挂掉,数据就没有啦。

2、没法修改配置文件,不好去自定义配置 

三、生产版本启动

2.1将制定的文件上传到服务器上,并映射进Redis中持久化

################################ 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 \
-p 6379:6379 \
--name myredis \
-v /home/dj/redis/redis.conf:/etc/redis/redis.conf \
-v /home/dj/redis/data:/data \
-d redis:7.0.12 redis-server /etc/redis/redis.conf

各参数的意义:

1)-restart=always 总是开机启动
2)-p 6379:6379 将6379端口挂载出去
3)–name 给这个容器取一个名字
4)-v 数据卷挂载 /home/dj/redis/redis.conf:/etc/redis/redis.conf

此处是将宿主机 /home/dj/redis/redis.conf 文件映射到 redis 容器下的 /etc/redis/redis.conf,此处你也可以理解为docker容器和宿主机共享这个文件。

5)-d redis:7.0.12 后台运行容器,不加-d就是直接在控制台输出,关闭窗口即停止容器。

6) redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的 redis.conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是宿主机下共享的 /home/dj/redis/redis.conf。

补充:如果有权限相关的问题,可以给容器一个特权模式。加一个 --privileged

7)--log-opt max-size=100m --log-opt max-file=3

max-size:指定日志文件大小上限

max-file:指定日志文件个数

查看启动日志(是否正常启动)

docker logs myredis # 后面跟容器名 or 容器ID 都可以
docker logs --since 30m <容器名> # --since 30m 是查看此容器30分钟之内的日志情况。

四、Docker 停止、删除、重启、启动容器

docker stop [容器名|容器ID] #停止容器
docker start   [容器名|容器ID]  #启动停止的容器
docker restart  [容器名|容器ID]  # 将容器重新启动
docker kill [容器名|容器ID] #强行终止
docker rm [容器名|容器ID]   # 删除停止的容器

  • 31
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西西o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值