基于Docker搭建redis集群

前言

最新在学习Docker,不由自主的深深爱上了它,同时在整理SpringBoot相关资料的时候,整理到redis这块儿,就想搭建个redis的集群,做做相关的测试,写写记录;然后就把Docker给拽进来搭建一个用于测试使用的redis集群,借机顺便也学习巩固一下Docker相关的知识。


Redis集群原理

可参考以下资料,原理其实相对比较好理解
三张图秒懂Redis集群设计原理
redis集群原理


准备工作
  • 安装Docker
  • 下载redis源码包
    mkdir /usr/local/redis_docker
    cd /usr/local/redis_docker
    wget http://download.redis.io/releases/redis-4.0.1.tar.gz 
    
  • 解压
    tar -xzf redis-4.0.1.tar.gz
    
  • 安装gcc
    yum install -y gcc-c++
    
  • 编译
    make
    #如果报错,可以尝试:make MALLOC=libc
    
  • 配置redis.conf
    vim /usr/local/redis_docker/redis-4.0.1/redis.conf
    以下是配置文件中相关的点,请一一对着修改即可
    • ip绑定
      bind 0.0.0.0

      0.0.0.0为不绑定ip

    • 设置密码
      requirepass 123456789

      123456789为密码

    • 主从复制的验证密码
      masterauth 123456789

      123456789为验证密码

    • 日志文件
      logfile “/usr/local/redis/logs/redis-server.log”

      /usr/local/redis/logs/redis-server.log为日志文件的路径

    • 开启集群配置
      cluster-enabled yes
    • 集群配置文件
      cluster-config-file nodes-6379.conf
    • 集群超时时间
      cluster-node-timeout 15000

Redis基础镜像创建
  • 编写镜像生成文件(Dockerfile)
    cd /usr/local/redis_docker
    vim Dockerfile
    
    在文件下拷贝一下内容
    #指定基础镜像
    FROM centos:7
    
    #镜像作者
    MAINTAINER lupf "[email protected]"
    
    #定义路径的环境变量
    ENV REDIS_HOME /usr/local
    
    #将Dockerfile同级目录下的redis-4.0.1.tar.gz复制到镜像的根目录
    ADD redis-4.0.1.tar.gz /
    
    #创建安装目录,根据环境变量信息,实际的创建目录为:/usr/local/redis
    RUN mkdir -p $REDIS_HOME/redis
    
    #将Dockerfile同级目录下redis-4.0.1中的redis配置文件拷贝到容器的/usr/local/redis目录中
    ADD redis-4.0.1/redis.conf $REDIS_HOME/redis/
    
    #更新镜像的yum
    RUN yum -y update
    
    #安装gcc相关编译工具
    RUN yum install -y gcc make
    
    #指定工作目录
    WORKDIR /redis-4.0.1
    
    #执行编译
    RUN make
    
    #移动编译后的redis-server到容器相关的目录
    RUN mv /redis-4.0.1/src/redis-server  $RE
通过docker搭建Redis集群的步骤如下: 1. 创建容器:使用docker命令创建多个Redis容器,每个容器代表一个节点。例如,可以使用以下命令创建一个名为redis-node-1的节点容器: ``` docker run --name redis-node-1 -p 6381:6379 -d redis ``` 2. 进入容器:使用docker exec命令进入容器内部,例如,可以使用以下命令进入redis-node-1容器: ``` docker exec -it redis-node-1 /bin/bash ``` 3. 构建集群关系:在容器内部,使用Redis命令行工具,将新增的节点作为master节点加入原集群。例如,可以使用以下命令将节点redis-node-7加入集群: ``` redis-cli -p 6381 cluster add-node <new_node_ip:port> <existing_node_ip:port> ``` 4. 查看集群状态:使用Redis命令行工具查看集群的状态。例如,可以使用以下命令在节点redis-node-1上查看集群信息: ``` redis-cli -p 6381 cluster info ``` 通过以上步骤,你可以使用docker搭建Redis集群,并查看集群的状态。请根据实际情况进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [阿昌教你通过docker搭建Redis集群](https://blog.csdn.net/qq_43284469/article/details/122458602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一行Java

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

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

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

打赏作者

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

抵扣说明:

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

余额充值