Docker部署Redis

Docker部署Redis

  1. 准备工作

    • 在CentOS或者Linux创建部署目录,用于存放容器的配置和Redis数据;目的是当重装或者升级容器时,配置文件和数据不会丢失。执行以下命令:

      a、创建目录:mkdir -p /container/redis

      b、进入目录:cd /container/redis

      c、批量创建目录:mkdir data

      d、更改文件夹权限:chmod 777 data

    • 准备Redis部署配置文件:Redis各版本配置文件下载入口

      a、我使用的是6.2版本,下载redis.conf文件:curl https://raw.githubusercontent.com/redis/redis/6.2/redis.conf > /container/redis/redis.conf

      b、修改redis.conf文件:vim /container/redis/redis.conf

      • #bind 127.0.0.1 通过#注释掉,解除本地连接限制
      • protected-mode no 默认为yes;保护模式,限制为本地访问;修改为no,修改后解除保护模式
      • requirepass redispassword 设置密码(建议设置,不设置有风险),也可以不设置,然后在docker启动命令中指定
    • 配置文件授权:chmod 644 /container/redis/redis.conf

    踩坑备注:

    1. 配置文件未授权有可能导致启动失败
    2. 配置文件daemonize属性默认为no; 网上有说要改为yes的;改为yes会导致启动失败!docker 本身就是后台运行的,daemonize为yes两者会冲突
    3. 从 http://download.redis.io/redis-stable/redis.conf 这个地址下载的配置文件,有可能会启动报错:FATAL CONFIG FILE ERROR;报错的配置项举例:repl-diskless-sync-max-replicas、appenddirname等等;在2022-05-05开始(在2022-04-26时下载的配置文件还是正常的,在27号有了更新),在这个地址下载的配置文件都会多出这些配置项。我出现这个问题时使用的是redis是6.2版本;采用docker安装的。在此记录。使用上面的入口下载6.2版本的配置文件,就没有问题。个人猜测可能是因为版本升级,配置文件和版本对应不上的原因。
  2. 执行以下命令,创建并启动镜像。如果本地没镜像,会自动拉取

    docker run \
    -itd \
    --restart=always \
    --name=redis \
    -p 6379:6379 \
    -v /etc/timezone:/etc/timezone:ro \
    -v /etc/localtime:/etc/localtime:ro \
    -v /container/redis/redis.conf:/etc/redis/redis.conf \
    -v /container/redis/data:/data \
    redis:latest \
    redis-server /etc/redis/redis.conf \
    --appendonly yes \
    --requirepass "redispassword"
    

    命令分析:

    • docker run #创建并启动应用

    • -itd #-i:开启容器的标准输入STDIN;-t:容器分配伪终端,用于再终端登录容器;-d:后台运行容器

    • –restart=always #在容器退出时总是重启容器

    • –name=“redis” #容器名称

    • -p 6379:6379 #映射主机指定端口到容器的指定端口;冒号前为主机端口,冒号后为容器端口

    • -v /container/redis/data:/data #挂载主机指定目录到容器的指定目录;冒号前为主机目录;挂载的主机目录必须授权777权限

    • redis:latest #要创建并启动容器的mysql镜像

    • –appendonly yes #开启redis 持久化

    • –requirepass “redispassword” #设置密码为redispassword;当配置文件和命令行同时设置密码时,以命令行的密码为准!

    脚本执行后:

    查看容器信息:docker ps -a

    查看Redis启动日志:docker logs redis

  3. 测试连接登录

    此时,一般可以使用Another Redis Desktop Manager工具进行连接了;如果工具连接不上,可在终端测试连接;命令如下:

    进入docker容器MySQL终端:docker exec -it redis bash

    连接Redis:redis-cli

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值