Docker部署redis

                    记录最近自己在玩docker部署redis时一些过程

1.部署redis

首先用docker部署redis时候的配置,可以通过两种方式来进行设置

  • 启动时进行传参(几乎无用)

  • 通过redis.conf配置文件启动 (主要,博主这里用的是6.2.13 )

    下载地址:Download | Redis  

    镜像版本:

  通过配置文件方式来对redis进行启动的话,首先有两个前提条件:

1) docker镜像版本和redis.conf来源版本尽量保持一致

2)配置文件中几个参数需要注意一下
        

参数名      值  描述
bind删除该值个人理解是设置过之后只能由某个制定的ip服务器来进行请求;删除后就能够接受所有请求。(感觉在实际的生产部署上这个配置还需要好好研究一下)
port        docker部署下一般不需要改动,默认的6379就行,该端口对应着容器内部对端口,对外端口可以在启动容器时设置
daemonizeno     默认为no,后台启动
requirepass       密码也可以通过启动时来设置,我的建议是在云服务器上一定要设置上密码,不然几乎是99.9%会被植入挖矿代码,例如我被植入的:http://45.83.123.29/cleanfda/init.sh

将上面设置好后既可以来启动redis容器了

docker run -p 6379:6379 -v /etc/redis6.2/redis-6379.conf:/etc/redis/redis.conf -v /data/redis:/data --name redis-master -d redis:6.2.13 redis-server /etc/redis/redis.conf

  • -p 映射端口       前值为宿主机上对外端口,后值为容器内端口(ps:云服务器上想要外面连接记得开放防火墙,开放防火墙后一定要设置密码
  • -v 挂载目录       前值为本机目录,后值为容器内目录
  • --name 容器名  启动名称,格式为--name ${myName} ${镜像名:版本号} 
  • -d 后台启动       如果发现run后容器并没有正常启动,可能是报错了,将-d去掉启动可以看到错误信息
  • redis-server      服务启动命令,我这里指定了容器内redis.conf作为启动配置文件,容器内的文件是由-v /etc/redis6.2/redis-6379.conf:/etc/redis/redis-conf 该命令将宿主机配置文件挂载至容器内

至此应该就能正常启动redis容器了

输入命令尝试一下

报这个错误的话是因为有密码

输入 auth username xxxxxx即可  username默认是default

redis正常运行,查看一下挂载目录的文件是否正常, 一般redis默认开启了rdb备份,在项目正常关闭的时候会自动备份文件

容器内文件正常,看看宿主机上的目录上是否也有对应的文件

一切正常

2.数据恢复

        测试流程: 正常启动redis->写入几条数据->正常重启->删除容器内dump.rdb文件->kill容器->文件放入挂在目录再重启

因为没有实际在工作中试验过,不知道实际是怎么去做的一个备份和恢复,只能自己瞎摸索这来,生产环境中应该还有定时任务定期将aof和rbd文件转移走进行备份,不然文件损坏的情况下很容易导致数据全盘丢失

在正常重启的情况下是一点问题都没有

模拟非正常结束,数据丢失的情况,先将dump.rdb改名为dump1.rdb 重启,发现还有数据,应该是根据aof文件恢复了数据,删除aof文件 直接kill掉容器,再次重启,数据成功丢失

哦豁,翻车了,首先第一次重启就没有数据,第二次restart的时候,因为正常重启的redis容器会触发rdb备份,可能这个时候rdb文件已经是没有数据的rdb文件了。 再来一次

先将dump文件转移,删除aof文件

然而还是翻车了, 献丑了,待老夫再研究研究机制再来看看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值