以Docker方式安装Redis集群

以 Redis-6.0.6 为例,先从仓库将镜像拉下来:

docker pull redis:6.0.6

Redis 的配置文件和数据文件不能放在镜像中,这里选择容器中的目录和宿主机上一致,这样更方便管理。以 /data/redis 为 Redis 的主目录,配置文件放在目录 /data/redis/conf,数据文件放在目录 /data/redis/data。

注意,需将容器的网络模式设置为主机(host)模式,而不能是默认的网桥(Bridge)等模式。主机模式下,不有用宿主机和容器间的端口映射(即”-p”参数可省略了)。

这里使用了进程监控脚本工具 process_monitor.sh 来自动拉起 Redis 容器,process_monitor.sh 带两个参数,第一个参数为被监控进程(包含目录)和匹配模式(为其中一个参数),第二个参数为拉起进程命令或脚本。

在启动 Redis 窗口之前,需要创建好各目录和设置好配置文件。建议以公共配置文件 redis.conf 加端口定制配置文件 redis-PORT.conf 相结合方式,可直接基于 redis-6.0.6 源代码包提供的 redis.conf 修改。

  • *Crontab设置:
PMONITOR=/usr/local/bin/process_monitor.sh
DOCKER=/bin/docker
REDIS_HOME=/data/redis
REDIS_SERVER=/usr/local/bin/redis-server
PORT1=2020
PORT2=2021
PORT3=2022
PORT4=2023
PORT5=2024
PORT6=2025

PORT1
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT1" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT1 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT1.conf"

PORT2
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT2" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT2 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT2.conf"

PORT3
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT3" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT3 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT3.conf"

PORT4
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT4" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT4 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT4.conf"

PORT5
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT5" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT5 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT5.conf"

PORT6
* * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT6" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT6 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT6.conf"

Original: https://www.cnblogs.com/aquester/p/13606199.html
Author: -见
Title: 以Docker方式安装Redis集群

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

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

(0)

大家都在看

  • RAID磁盘阵列技术

    RAID磁盘阵列技术 1、RAID概述 RAID(Redundant Array of Independent Disk),从字面意思讲的是基于独立磁盘的具有冗余的磁盘阵列,其核心…

    Linux 2023年6月7日
    095
  • 判断Redis复制是否完成的方法

    当需要使用Redis的复制功能时,有时需要能及时的得到复制完成的信息,或者说复制的进度。 Redis提供的INFO命令,可以提供redis运行时的各种信息。我们这里需要关注Repl…

    Linux 2023年5月28日
    0112
  • Linux显示IP和主机名

    (1) ifconfig:Linux ifconfig命令用于显示或设置网络设备。 语法: ifconfig [网络设备][down up -allmulti -arp -prom…

    Linux 2023年6月8日
    099
  • Python之pexpect详解

    Pexpect程序主要用于人机对话的模拟,就是那种系统提问,人来回答yes/no,或者账号登陆输入用户名和密码等等的情况。因为这种情况特别多而且繁琐,所以很多语言都有各种自己的实现…

    Linux 2023年6月14日
    086
  • ELK收集日志之logstash使用

    一、logstash使用 1.logstah收集文件日志 不难理解,我们的日志通常都是在日志文件中存储的,所以,当我们在使用INPUT插件时,收集日志,需要使用file模块,从文件…

    Linux 2023年5月27日
    087
  • 我懂得了什么

    站在24岁的这个档口,没有学业又没有工作的时刻,前不着村后不着店。我觉得应该要写一些总结,虽然年仅24的我相比老人家总结不出更深刻的道理,但是现在是互联网的时代,获取知识的途径已经…

    Linux 2023年6月6日
    094
  • 用Windows Terminal替代cmd

    HKEY_CLASSES_ROOT\batfile\shell\open\command,默认项内容 把 "C:\Users\<user>\AppData\L…

    Linux 2023年6月13日
    096
  • python入门基础知识一(基于孙兴华python自动化)

    print(‘aaa’)等价于print(“aaa”) 英文单引号和双引号在字符串的输出上并无区别,但如果要打印这么一段话:I&#8…

    Linux 2023年6月7日
    089
  • Struts2-045漏洞

    前言 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图…

    Linux 2023年6月14日
    097
  • AIX系统NTP同步配置

    前言 当AIX系统的本地时间与时间服务器授出的标准时间误差大于±1000秒时。xntpd服务将无法同步时间并变得无法正常工作,请进行ntp配置前,先修改AIX系统的本地时间,尽量和…

    Linux 2023年6月6日
    099
  • lvs

    1.lvs简介 2.结构体系 3.lvs工作模式及原理 4.配置lvs 4.1 部署lvs-nat模式的httpd负载集群—http协议 4.2 部署lvs-dr模式的…

    Linux 2023年6月13日
    081
  • nginx安装配置步骤

    ​ yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel -y [root@n…

    Linux 2023年6月11日
    084
  • 由乐观锁延伸出的知识

    锁是网络数据库中的一个非常重要的概念,当多个用户同时对数据库并发操作时,会带来数据不一致的问题,所以,锁主要用于多用户环境下保证数据库完整性和一致性以商场的试衣间为例,每个试衣间都…

    Linux 2023年6月7日
    066
  • 质量问题不是不爆,时候未到

    没有质量,哪来效率,谈什么成本; 最近大半年,团队以极其曲折的方式,将一个支离破碎的应用从重构的边缘给拉了回来,最终项目回到了正常迭代的节奏中; 年初的时候,运营系统相关人员离职,…

    Linux 2023年6月14日
    079
  • 基于Swoole和Redis实现的并发队列处理系统

    由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的。为了完成这些异步操作,我们做了一个基于Redis队列任务系统。 大家知道,一个消息队列处理系统主要分为…

    Linux 2023年5月28日
    088
  • 一个老程序员的忠告:你这辈子输就输在以为靠技术就能生存下

    一、 在一个地方工作8小时就是”穷” 1、在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你更不要认为那些从事市场开发,跑腿的人,没有前途。…

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