基于Docker的redis集群搭建

Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html

基于Docker搭建Redis集群

环境:6个节点,三主三从

制作Redis镜像:docker build -f dockerfile -t jiang/redis-cluster:4.0.1 .

dockerfile文件:

bash;gutter:true; FROM redis:4.0.1 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN mkdir /usr/local/etc/redis && chown redis:redis /usr/local/etc/redis ENV REDIS_C=/usr/local/etc/redis RUN echo "port 6379" > $REDIS_C/redis.conf RUN echo "cluster-enabled yes" >> $REDIS_C/redis.conf RUN echo "cluster-config-file nodes.conf" >> $REDIS_C/redis.conf RUN echo "cluster-node-timeout 5000" >> $REDIS_C/redis.conf RUN echo "appendonly yes" >> $REDIS_C/redis.conf CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]</p> <pre><code> 制作Ruby镜像:docker build -f dockerfile2 -t jiang/my_ruby:2.4 . dockerfile2文件: ;gutter:true;
FROM ruby:2.4
RUN gem install redis
ADD ./redis-4.0.1.tgz /usr/local
RUN cd /usr/local && ln -sf redis-4.0.1 redis

分别启动6个节点实例:

bash;gutter:true; docker run --name redis7000 -p 7000:6379 -d jiang/redis-cluster:4.0.1 docker run --name redis7001 -p 7001:6379 -d jiang/redis-cluster:4.0.1 docker run --name redis7002 -p 7002:6379 -d jiang/redis-cluster:4.0.1 docker run --name redis7003 -p 7003:6379 -d jiang/redis-cluster:4.0.1 docker run --name redis7004 -p 7004:6379 -d jiang/redis-cluster:4.0.1 docker run --name redis7005 -p 7005:6379 -d jiang/redis-cluster:4.0.1</p> <pre><code> ![基于Docker的redis集群搭建](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230526/974359-20170818164117818-1407530067.png) 查看6个节点的容器IP ;gutter:true;
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7000
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7001
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7002
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7003
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7004
docker inspect –format='{{.NetworkSettings.IPAddress}}’ redis7005

基于Docker的redis集群搭建

启动Ruby容器,进入/bin/bash,创建redis集群

bash;gutter:true; docker run -it jiang/my_ruby:2.4 /bin/bash /usr/local/redis/src/redis-trib.rb create --replicas 1 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 出现下面显示说明集群创建成功: [OK] All nodes agree about slots configuration.</p> <p>[OK] All 16384 slots covered.</p> <p>

宿主机上利用redis客户端简单测试:

./redis-cli -c -p 7000

基于Docker的redis集群搭建

cluster info查看集群信息:

基于Docker的redis集群搭建

cluster nodes查看集群中各节点信息

基于Docker的redis集群搭建

Original: https://www.cnblogs.com/jjzd/p/7390568.html
Author: 浮沉一梦
Title: 基于Docker的redis集群搭建

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529224/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 解决Ubuntu(20.04)和Windows10双系统时间不同步问题

    1. 原因分析 出现这种情况的原因是 Windows 和 Ubuntu它们在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式 不一样。 我们先来看看时间的概念: [En]…

    Linux 2023年5月27日
    0193
  • MySQL实现备份(1)

    完全备份和部分备份 冷备份、热备份、温备份 温备份适用于:myisam 热备份适用于:innodb 物理备份和逻辑备份 完全备份:备份所有数据 部分备份:只备份部分数据内容 两者第…

    Linux 2023年6月7日
    0147
  • Shell中的特殊符号(special characters)和含义

    之前写过两篇关于Bash语法的blog,分别是: 个人感觉,想要通畅地读懂bash脚本,还差一个部分,那就是符号。 个人网上的讲bash符号的文章有点乱,要么有错,要么不全,要么太…

    Linux 2023年5月28日
    096
  • Kubernetes-DashBoard部署

    DashBoard 在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界…

    Linux 2023年6月13日
    096
  • 【windows】在windows右键菜单加入在当前路径打开cmd功能?

    在Ubuntu中可以在一般目录下点击右键选中Open in Terminal即可打开一个命令终端,由于自己平常在windows上开发时也常常使用cmd命令行进行操作,但是每次都需要…

    Linux 2023年6月13日
    0106
  • [完美解决] pip: Fatal error in launcher: Unable to create process using xxx

    环境 windows 10, python 3.9.2 发生原因 更改了python的安装路径,并且修改了环境变量。于是运行命令行pip发送了RT的错误 可能原因 pip程序内写死…

    Linux 2023年6月7日
    0113
  • 深入Go Map的使用技巧

    原文链接:https://www.zhoubotong.site/post/60.html之前写过一篇文章,Go map定义的几种方式以及修改技巧,今天发现还可以深入探讨下开发中容…

    Linux 2023年6月6日
    0122
  • 大天使之剑H5游戏超详细图文架设教程

    引言 想体验传奇游戏霸服的快乐吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品装备、翅膀、宠物通通给你,就在大天使之剑! 本文讲解大天使之剑H5游戏的架设教程,…

    Linux 2023年6月7日
    0116
  • Docker 打包部署web项目 [Dockerfile方式]

    系统环境 IDE: IDEA 2020.2 Linux: WSL2 Ubuntu 20.04 Docker: 20.10.8 参考资料 博客园: Dockerfile常用指令介绍 …

    Linux 2023年6月14日
    0106
  • 学习一下 Spring Security

    一、Spring Security 1、什么是 Spring Security? (1)基本认识Spring Security 是基于 Spring 框架,用于解决 Web 应用安…

    Linux 2023年6月11日
    095
  • linux 应用程序直接读写寄存器或物理内存

    1.程序说明: 调试驱动程序时,经常遇到候需要查看或设置寄存器的情况,但是直接更改内核代码又不方便。 这里提供一个应用程序源码能在应用层访问底层寄存器。(网上找到的,进行过更改)。…

    Linux 2023年6月6日
    0191
  • python学习

    目录: 1、课程推荐以及书籍推荐 2、学习记录 2.1:无 1. 实践过程 廖雪峰的官方网站 2. 学习记录 2.1 无: posted @2022-02-12 19:44 风御之…

    Linux 2023年6月13日
    0104
  • MySQL事务隔离级别

    MySQL事务隔离级别 事务 事务是由单独的一个或者多个SQL语句组成,是一个最小的不可再分割的单元,这一组操作里面的所有的执行,要么全部成功、要么全部不成功。如果有一个执行不成功…

    Linux 2023年6月6日
    0121
  • SQL55 分页查询employees表,每5行一页,返回第2页的数据

    LIMIT子句 本题链接表结构如下所示。 +——–+————+——&#8…

    Linux 2023年6月13日
    092
  • python虚拟环境介绍与安装(不借助anaconda)

    1 虚拟环境介绍 (1) 虚拟环境能对不同的状况进行环境隔离,程序A的环境变动不会影响程序B的开发 (2)比较便携,因为虚拟环境中都有各自的python包,U盘复制环境,省去其他人…

    Linux 2023年6月7日
    0110
  • haproxy

    1. haproxy简介 2. haproxy配置文件解析 3. haproxy搭建httpd负载均衡 4. 启动haproxy自带的监控界面 haproxy简介 HAProxy是…

    Linux 2023年6月13日
    0137
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球