• 使用docker安装redis并持久化


    前提:已使用docker pull redis拉取了镜像

    1 目录挂载与操作

    • 说明:使用 -v 参数将redis容器内部相关目录 挂载到 主机 对应的目录下面,如下冒号后面的目录是redis容器内部目录,冒号前面是主机目录

      -v /mydata/redis/data:/data

    • 在主机中创建对应的目录

      ubuntu@ip-172-31-38-30:/$ sudo mkdir -p /mydata/redis/conf
      ubuntu@ip-172-31-38-30:/$ sudo touch /mydata/redis/conf/redis.conf
      ubuntu@ip-172-31-38-30:/$ sudo mkdir -p /mydata/redis/data

    2 进入redis镜像创建容器

    root@ip-172-31-38-30:/# docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
    4e504b7c35867bb95ef95ab0592a5a78975a99282edf338636104b1535f63a9c
    
    • 1
    • 2

    注:可以使用以下命令查看正在运行的容器:

    root@ip-172-31-38-30:/# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
    4e504b7c3586        redis               "docker-entrypoint.s…"   10 minutes ago      Up 10 minutes       0.0.0.0:6379->6379/tcp              redis
    bea6cc5d6f62        mysql:5.7           "docker-entrypoint.s…"   21 hours ago        Up 2 hours          0.0.0.0:3306->3306/tcp, 33060/tcp   mysql57
    
    • 1
    • 2
    • 3
    • 4

    3 进入redis容器进行操作:

    root@ip-172-31-38-30:/# docker exec -it redis redis-cli
    127.0.0.1:6379> set a b
    OK
    127.0.0.1:6379> get a 
    "b"
    127.0.0.1:6379> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    或者先进入bash, 在使用redis-cli连接redis数据库:

    root@ip-172-31-38-30:/# docker exec -it redis /bin/bash
    root@4e504b7c3586:/data# redis-cli
    127.0.0.1:6379> get a
    (nil)
    
    • 1
    • 2
    • 3
    • 4

    4 持久化
    redis数据存储在内存中,退出后则数据丢失,所以需要设置配置文件将其持久化

    • 在主机中或redis容器内部找到对应的redis配置文件

      root@ip-172-31-38-30:/mydata/redis/conf# ls
      redis.conf
      root@ip-172-31-38-30:/mydata/redis/conf# vim redis.conf

    • 在该文件中加入以下命令:

      appendonly yes

    • 重启redis容器

      docker restart redis

    • 经过数据持久化之后的操作演示
      在这里插入图片描述

  • 相关阅读:
    几个常用的nosql数据库的操作方式
    【c语言中的指针常量和常量指针介绍】
    如何获取淘宝sku详细信息 API接口
    Generative Adversarial Nets
    算法笔记:二叉树
    EG1164大功率同步整流升压模块开源,最高效率97%
    用Python写一个去文档水印的算法
    wangEditor富文本编辑器使用
    【Mongo|1】MongoDB常用命令详细介绍
    Kubernetes Pod配置:从基础到高级实战技巧
  • 原文地址:https://blog.csdn.net/m0_67403272/article/details/126553651