docker中实现多机redis主从集群

redis主从集群是每个使用redis的小伙伴都必需知道的,那如何在docker中快速配置呢?这篇来教你快速上手,跟着复制完全就能用!!

1. 前置准备

1.1 docker安装

以防有小伙伴没预先安装docker,这里提供安装步骤

# 配置docker yum源。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装 最新 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 启动& 开机启动docker; enable + start 二合一
systemctl enable docker --now# 配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.2 创建docker network(单机中使用)

docker network create mynet01

2. 单机redis

先从简单的引人,注意实际生产过程中并不是都在单机上的(一台机起一个)
在本例子中就使用一主一从来做简单实现(单机下在同一个网络中,也就是刚刚创建好的mynet01)

2.1 主机redis

docker run -d -p 6379:6379 \  # 主机端口映射
-v /app/rd1:/bitnami/redis/data \ # 目录挂载
-e REDIS_REPLICATION_MODE=master \ # 配置环境变量,对应bitnami这个镜像
-e REDIS_PASSWORD=123456 \ 
--network mynet01 --name redis01 bitnami/redis
2.1.1 bug – 启动报错无访问权限

启动后通过docker ps并没有看到前面运行的实例,这是由于从内部访问写配置文件并不是root用户,所以需要更改权限(同下)

chmod -R 777 rd1docker restart redis02

2.2 从机redis

从机配置的东西就多了,需要配置好主机的host、端口号、密码等信息

docker run -d -p 6380:6379 \ # 主机端口映射-v /app/rd2:/bitnami/redis/data \ # 目录挂载-e REDIS_REPLICATION_MODE=slave \-e REDIS_MASTER_HOST=redis01 \ # 主机的ip-e REDIS_MASTER_PORT_NUMBER=6379 \ # 主机的redis端口-e REDIS_MASTER_PASSWORD=123456 \ # 主机redis的密码-e REDIS_PASSWORD=123456 \ # 本机redis的密码	--network mynet01 --name redis02 bitnami/redis

6.1.3 验证

在从机中输入如下命令访问redis

docker exec -it redis02 redis-cli# 进去之后记得密码
AUTH 123456# 查看主从复制信息
INFO replication

如果成功的话能看到如下信息
请添加图片描述

3. 多机redis

有了前面单机的引入,多机之前的主从集群搭建其实就是用host来绑定对应机器的ip地址,具体如下
在本例子中还是使用一主一从来搭建主从集群,其中主机的ip是192.168.187.128
具体的ip根据自己申请的服务器确定,如果是本机上开的虚拟机可以ifconfig查看

3.1 主机redis

因为是不同机器无需通过network

docker run -d -p 6379:6379  \
-v /app/rd1:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=master \ 
-e REDIS_PASSWORD=123456  --name redis01 bitnami/redis 

3.2 从机redis

其实就跟单机的类似,只不过host这里换成主机的ip地址,这样就可以通过网络访问到主机上了

docker run -d -p 6380:6379 \
-v /app/rd2:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=slave  \
-e REDIS_MASTER_HOST=192.168.187.128 \ # 注意这里的host地址为主机的ip地址
-e REDIS_MASTER_PORT_NUMBER=6379 \
-e REDIS_MASTER_PASSWORD=123456 \
-e REDIS_PASSWORD=123456 --name redis02 bitnami/redis

3.3 测试

首先进入主机redis

docker exec -it redis01 redis-cli# 进去之后记得密码
AUTH 123456# 查看主从复制信息
INFO replication

再进入从机redis

docker exec -it redis02 redis-cli# 进去之后记得密码
AUTH 123456# 查看主从复制信息
INFO replication

如果成功将会看到如下主从集群信息
在这里插入图片描述如果还不放心,不妨跟我一样在主机中设置一个键值,然后再在从机中获取对应的key,看看是否是你设置的value😉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频共享融合赋能平台LnyonCVS国标视频监控平台包含哪些功能

随着国内视频监控应用的迅猛发展&#xff0c;系统接入规模不断扩大。不同平台提供商的接入协议各不相同&#xff0c;导致终端制造商在终端维护时需要针对不同平台的软件版本提供不同的维护&#xff0c;资源造成了极大的浪费。 为响应国家对重特大事件通过视频监控集中调阅来掌…

QListWidget 缩略图IconMode示例

1、实现的效果如下&#xff1a; 2、实现代码 &#xff08;1&#xff09;头文件 #pragma once #include <QtWidgets/QMainWindow> #include "ui_QListViewDemo.h" enum ListDataType { ldtNone -1, ldtOne 0, ldtTwo 1, }; struct ListData…

解决后端限制导致前端配置跨域仍请求失败报504的问题

文章目录 问题一、通过配置跨域方式二、直接真实接口请求三、解决方式四、后端这样做的原因 总结 问题 前端项目设置跨域proxy处理&#xff0c;接口请求不会报跨域&#xff0c;但是接口请求报了504&#xff0c;这种情况如何处理呢&#xff0c;后端又为何要这么做&#xff0c;下…

汽车信息安全--欧盟汽车法规

目录 General regulation 信息安全法规 R155《网络安全及网络安全管理系统》解析 R156《软件升级与软件升级管理系统》解析 General regulation 欧洲的汽车行业受到一系列法律法规的约束&#xff0c;包括 各个方面包括&#xff1a; 1.安全要求&#xff1a;《通用安全条例&a…

机器学习筑基篇,​Ubuntu 24.04 快速安装 PyCharm IDE 工具,无需激活!

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 快速安装 PyCharm IDE 工具 描述&#xff1a;虽然在之前我们安装了VScode&#xff0c;但是其对于使用Python来写大型项目以及各类配置还是比较复杂的&#xff0c;所以这里我们还是推…

使用RAID与LVM磁盘阵列技术

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、RAID磁盘冗余阵列 1、部署磁盘整列 2、损坏磁盘阵列及修复 3、磁盘阵列备份盘 4、删除磁盘阵列 二、LVM逻辑卷管理器 致谢 一、RAID…

使用 PCA 可视化数据的分类能力

使用 PCA 探索数据分类的效果&#xff08;使用 Python 代码&#xff09; 「AI秘籍」系列课程&#xff1a; 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识 主成分分析 (PCA) 是数据科学家使用的绝佳工具。它可用于降低特征…

【QT】容器类控件

目录 概述 Group Box 核心属性 Tab Widget 核心属性 核心信号 核心方法 使用示例&#xff1a; 布局管理器 垂直布局 核心属性 使用示例&#xff1a; 水平布局 核⼼属性 (和 QVBoxLayout 属性是⼀致的) 网格布局 核心属性 使用示例&#xff1a; 示例&#x…

2024亚太杯中文赛数学建模B题word+PDF+代码

2024年第十四届亚太地区大学生数学建模竞赛&#xff08;中文赛项&#xff09;B题洪水灾害的数据分析与预测&#xff1a;建立指标相关性与多重共线性分析模型、洪水风险分层与预警评价模型、洪水发生概率的非线性预测优化模型&#xff0c;以及大规模样本预测与分布特征分析模型 …

python操作SQLite3数据库进行增删改查

python操作SQLite3数据库进行增删改查 1、创建SQLite3数据库 可以通过Navicat图形化软件来创建: 2、创建表 利用Navicat图形化软件来创建: 存储在 SQLite 数据库中的每个值(或是由数据库引擎所操作的值)都有一个以下的存储类型: NULL. 值是空值。 INTEGER. 值是有符…

Python 算法交易实验76 QTV200日常推进

说明 最近实在太忙&#xff0c; 没太有空推进这个项目&#xff0c;我想还是尽量抽一点点时间推进具体的工程&#xff0c;然后更多的还是用碎片化的时间从整体上对qtv200进行设计完善。有些结构的问题其实是需要理清的&#xff0c;例如&#xff1a; 1 要先基于原始数据进行描述…

浪潮信息元脑服务器支持英特尔®至强®6能效核处理器 展现强劲性能

如今&#xff0c;服务器作为数字经济的核心基础设施&#xff0c;正面临着前所未有的挑战和机遇。作为服务器领域的领军企业&#xff0c;浪潮信息始终站在行业前沿&#xff0c;不断推陈出新&#xff0c;以满足客户日益增长的需求。近日&#xff0c;浪潮信息再次展现技术实力&…

基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM

基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM 1.数据均为Excel数据&#xff0c;直接替换数据就可以运行程序。 2.所有程序都经过验证&#xff0c;保证程序可以运行。 3.具有良好的编程习惯&#xff0c;程序均包含简要注释。 获取方式 https:/…

筛选Github上的一些优质项目

每个项目旁都有标签说明其特点&#xff0c;如今日热捧、多模态、收入生成、机器人、大型语言模型等。 项目涵盖了不同的编程语言和领域&#xff0c;包括人工智能、语言模型、网页数据采集、聊天机器人、语音合成、AI 代理工具集、语音转录、大型语言模型、DevOps、本地文件共享…

Matplotlib 学习

知识点 1.plot()&#xff1a;用于绘制线图和 散点图scatter() 函数&#xff1a;plot() 函数可以接受许多可选参数&#xff0c;用于控制图形的外观&#xff0c;例如&#xff1a;颜色: colorblue 控制线条的颜色。线型: linestyle-- 控制线条的样式&#xff0c;例如虚线。标记…

YoloV8改进策略:Block改进|轻量实时的重参数结构|最新改进|即插即用(全网首发)

摘要 本文使用重参数的Block替换YoloV8中的Bottleneck&#xff0c;GFLOPs从165降到了116&#xff0c;降低了三分之一&#xff1b;同时&#xff0c;map50-95从0.937涨到了0.947。 改进方法简单&#xff0c;只做简单的替换就行&#xff0c;即插即用&#xff0c;非常推荐&#xf…

C++_STL---list

list的相关介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 list的底层是带头双向循环链表结构&#xff0c;链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。…

IDEA与通义灵码的智能编程之旅

1 概述 本文主要介绍在IDEA中如何安装和使用通义灵码来助力软件编程,从而提高编程效率,创造更大的个人同企业价值。 2 安装通义灵码 2.1 打开IDEA插件市场 点击IDEA的设置按钮,下拉选择Plugins,如下: 2.2 搜索通义灵码 在搜索框中输入“通义灵码”,如下: 2.3 安…

使用ifconfig命令获取当前服务器的内网IP地址

如何使用ifconfig命令获取当前服务器的内网IP地址呢&#xff1f; ifconfig eth0 | grep inet | awk {print $2}

什么是五级流水?银行眼中的“好流水”,到底是什么样的?

无论是按揭买房还是日常贷款&#xff0c;银行流水都是绕不开的一环。规划好你的流水&#xff0c;不仅能让你在申请贷款时更有底气&#xff0c;还可能帮你省下不少冤枉钱。今天&#xff0c;咱们就来一场深度剖析&#xff0c;聊聊如何在按揭贷款、个人经营抵押贷款前&#xff0c;…