Docker运行Redis并恢复历史数据

目的

将传统的以软件形式安装的Redis更改为由Redis运行,同时将历史数据恢复;

准备工作
Docker 安装

CentOS 7下安装Docker及基础操作

镜像准备及下载

redis的docker官方镜像仓库地址,根据个人的需要下载相应的版本,这里下载的4.0.1

准备好配置文件
  • 创建用于保存配置及持久化文件的目录

    mkdir -p /usr/local/redis-4.0.1
    
  • 下载配置

    • 第一种方式
      通过一下连接下载对应的配置文件,请根据个人对应的版本下载对应的配置文件
      wget https://raw.githubusercontent.com/antirez/redis/4.0.1/redis.conf
      
    • 第二种方式
      通过源码包,获取到对应的配置文件,各版本源码包下载地址
      wget http://download.redis.io/releases/redis-4.0.1.tar.gz
      
  • 都三步
    将以上的redis.conf及用于恢复数据的rdb或者aof文件拷贝至/usr/local/redis-4.0.1下
    如果是新安装,不需要恢复数据,那么就忽略拷贝rdb或者aof的动作即可

修改配置
  • 进入配置文件目录

    cd /usr/local/redis-4.0.1
    
  • 修改日志文件的路径

    sed -i 's/logfile ""/logfile "access.log"/' redis.conf
    
  • 修改密码

    sed -i 's/# requirepass foobared/requirepass 123456/' redis.conf
    

    记住这里的密码需要和之前的密码保持一致,否则无法正常使用

  • 持久化模式修改

    • 如果是快照模式
      sed -i 's/appendonly no/appendonly yes/' redis.conf
      
    • 如果是aof日志模式
      sed -i 's/appendonly yes/appendonly no/' redis.conf
      

如果有的配置请根据个人实际情况进行修改

启动docker
  • 指令

    docker run -d \
    -v $PWD/redis.conf:/usr/local/redis/redis.conf \
    -v $PWD:/data \
    -p 6379:6379 \
    --restart=always \
    --name my-redis \
    redis:4.0.1 \
    redis-server /usr/local/redis/redis.conf
    
  • 指令说明

    #-d 后台运行
    docker run -d \
    # 挂载配置文件的数据卷,$PWD表示当前所在路径,后面为容器内的路径
    -v $PWD/redis.conf:/usr/local/redis/redis.conf \
    #挂载数据卷,将容器的持久化数据保存在宿主机上,防止数据丢失
    -v $PWD:/data \
    #端口映射关系
    -p 6379:6379 \
    #启动方式,自动重启
    --restart=always \
    #容器别名
    --name my-redis \
    #镜像名称及版本
    redis:4.0.1 \
    #执行的指令,后面的配置文件务必要和上面挂载的容器内的匹配值文件一致
    redis-server /usr/local/redis/redis.conf
    

  • 进入容器并测试

    #进入容器
    docker exec -it 容器ID(根据自己的实际ID修改) /bin/bash
    redis-cli
    auth 自己的密码
    dbsize
    

到此,redis已经成功迁移至Docker下运行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一行Java

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

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

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

打赏作者

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

抵扣说明:

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

余额充值