• 使用docker安装redis


    一、获取 redis 镜像

    docker search redis
    docker pull redis:5.0.5
    docker images
    

    二、创建容器

    2.1.创建持久化存储目录

    容器可以运行在内存里面,但是容器存储的数据需要进行持久化。所以在宿主机上创建redis 容器的数据和配置文件存储目录

    # 这里我们在 /home/docker 下创建
    mkdir /home/docker/redis/{conf,data} -p
    cd /home/docker/redis
    

    注意:后面所有的操作命令都要在这个目录/home/docker/redis下进行

    2.2.获取 redis 的默认配置文件模版

    # 获取 redis 的默认配置模版
    
    # 这里主要是想设置下 redis 的 log / password / appendonly
    
    # redis 的 docker 运行参数提供了 --appendonly yes 但没 password
    wget https://gitee.com/hanxt/boot-launch/raw/master/src/main/resources/otherconfig/redis.conf -O conf/redis.conf
    
    # 直接替换编辑
    sed -i 's/logfile ""/logfile "access.log"/' conf/redis.conf;
    sed -i 's/# requirepass foobared/requirepass 123456/' conf/redis.conf;
    sed -i 's/appendonly no/appendonly yes/' conf/redis.conf;
    sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' conf/redis.conf;
    

    redis.conf地址
    sed -i是linux文件替换命令,替换格式为s/被替换的内容/替换之后的内容/
    替换logfile ""为logfile "access.log",指定日志文件名称为access.log
    替换# requirepass foobared为requirepass 123456,指定访问密码为123456
    替换“appendonly no“为”appendonly yes”,开启appendonly模式
    替换绑定IP“bind 127.0.0.1”为“bind 0.0.0.0”

    2.3.使用镜像创建一个容器

    # 创建并运行一个名为 myredis 的容器
    docker run 
    -p 6379:6379 
    -v $PWD/data:/data 
    -v $PWD/conf/redis.conf:/etc/redis/redis.conf 
    --privileged=true 
    --name myredis 
    -d redis:5.0.5 redis-server /etc/redis/redis.conf
    
    # 命令分解
    
    docker run 
    
    -p 6379:6379  # 端口映射 宿主机:容器
    -v $PWD/data:/data:rw  # 映射磁盘目录 rw 为读写,宿主机目录:容器目录
    -v $PWD/conf/redis.conf:/etc/redis/redis.conf:ro  # 挂载配置文件 ro 为readonly
    --privileged=true  # 给与一些权限
    --name myredis  # 给容器起个名字
    -d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server
    

    三、访问 redis 容器服务

    docker exec -it myredis bash
    redis-cli
    

    docker-compose.yml生成redis容器

    version: "3"
    
    services:
      bms-redis:
        image: redis:3.2
        ports:
          - "6379:6379"
        volumes:
          - ./redis/conf:/usr/local/etc/redis/
          - ./redis/data:/data
          - ./redis/log:/data/log
        command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes
        container_name: myredis
    

    参考链接:https://www.kancloud.cn/hanxt/springboot2/1180275

    I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我

  • 相关阅读:
    力扣学习计划图床01
    一篇文章带你初步了解C++重载机制
    解决Github Gist无法访问问题
    VScode解决文件乱码问题,调整文件编码
    六、angular 生成二维码
    五、angularjs在进入界面前加载数据
    四、angularjs 如何在页面没有登录的情况下阻止用户通过更改url进入页面--$stateChangeStart
    三、angularjs上传图片
    二、单页应用如何调用微信接口和手机端的一些方法?
    二、Flex 布局教程:实例篇
  • 原文地址:https://www.cnblogs.com/weidaijie/p/14396444.html
Copyright © 2020-2023  润新知