【问题记录】Mac M1 Docker配置redis一主二从三哨兵(烧饼好吃)

news2025/1/12 13:24:36

文章目录

  • Docker配置 redis
    • 一主二从三哨兵
      • 文件目录
      • redis compose 文件
      • 在 redis 文件路径下执行 docker compose
      • sentinel 文件结构
      • sentinel compose 配置文件
      • sentinel config 配置文件
      • 切换到 sentinel执行 compose
    • 测试及问题记录
      • 解决方案

Docker配置 redis

一主二从三哨兵

文件目录

在这里插入图片描述

redis compose 文件

docker-compose.yml

version: '3'
services:
  master:
    image: redis
    container_name: redis-master
    command: redis-server  --requirepass redis_pwd  --masterauth redis_pwd   --replica-announce-ip 192.168.84.143   --replica-announce-port  6380 
    ports:
      - 6380:6379
  slave1:
    image: redis
    container_name: redis-slave-1
    ports:
      - 6381:6379
    command:  redis-server --slaveof redis-master 6379 --masterauth redis_pwd  --requirepass redis_pwd  --replica-announce-ip 192.168.84.143  --replica-announce-port  6381
  slave2:
    image: redis
    container_name: redis-slave-2
    ports:
      - 6382:6379
    command: redis-server --slaveof redis-master 6379 --masterauth redis_pwd --requirepass redis_pwd  --replica-announce-ip 192.168.84.143  --replica-announce-port  6382


在 redis 文件路径下执行 docker compose

(base) wenxiaoyu@wenshuaishuaideMacBook-Pro redis % pwd
/Users/wenxiaoyu/env/docker-test/redis
(base) wenxiaoyu@wenshuaishuaideMacBook-Pro redis % docker compose up -d
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
(base) wenxiaoyu@wenshuaishuaideMacBook-Pro redis % docker compose up -d
[+] Running 9/9
 ⠿ master Pulled                                                          10.4s
 ⠿ slave2 Pulled                                                          10.4s
   ⠿ 6064e7e5b6af Pull complete                                            4.1s
   ⠿ f6bd55a0e6ff Pull complete                                            4.2s
   ⠿ 7525aa3c12b6 Pull complete                                            4.3s
   ⠿ 9aeda440bf83 Pull complete                                            4.6s
   ⠿ 5e63a885a59a Pull complete                                            4.6s
   ⠿ 595b087d4909 Pull complete                                            4.7s
 ⠿ slave1 Pulled                                                          10.4s
[+] Running 4/4
 ⠿ Network redis_default    Created                                        0.1s
 ⠿ Container redis-master   Started                                        0.7s
 ⠿ Container redis-slave-1  Started                                        0.7s
 ⠿ Container redis-slave-2  Started                                        0.7s

sentinel 文件结构

在这里插入图片描述

sentinel compose 配置文件

version: '3'
services:
  sentinel1:
    image: redis
    container_name: redis-sentinel-1
    ports:
      - 26379:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel1.conf:/usr/local/etc/redis/sentinel.conf
  sentinel2:
    image: redis
    container_name: redis-sentinel-2
    ports:
    - 26380:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel2.conf:/usr/local/etc/redis/sentinel.conf
  sentinel3:
    image: redis
    container_name: redis-sentinel-3
    ports:
      - 26381:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf
networks:
  default:
      name: redis_default
      external: true

sentinel config 配置文件

port 26379
dir /tmp
sentinel announce-ip 172.20.0.1
sentinel announce-port 26379
sentinel monitor mymaster 172.20.0.1 6380 2
sentinel auth-pass mymaster redis_pwd
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

切换到 sentinel执行 compose

(base) wenxiaoyu@wenshuaishuaideMacBook-Pro docker-test % cd sentinel
(base) wenxiaoyu@wenshuaishuaideMacBook-Pro sentinel % docker compose up -d
[+] Running 3/3
 ⠿ Container redis-sentinel-2  Started                                     0.7s
 ⠿ Container redis-sentinel-3  Started                                     0.6s
 ⠿ Container redis-sentinel-1  Started                                     0.6s

测试及问题记录

# redis-cli -p 26379
127.0.0.1:26379> info
# Server
redis_version:7.0.5
redis_git_sha1:00000000
redis_git_dirty:0
...
master0:name=mymaster,status=sdown,address=172.20.0.1:6380,slaves=0,sentinels=1

问题,slaves=0,sentinels=1
status=sdown

解决方案

(base) wenxiaoyu@wenshuaishuaideMacBook-Pro sentinel % docker inspect e1cc

注意此处的 elcc 是我的 redis=master 容器 id, 你需要修改为你的 id
在这里插入图片描述

然后寻找Gateway

将 sentinel 的三个 config 文件中的 ip 修改为查到的 ip
在这里插入图片描述
在这里插入图片描述

问题解决

在这里插入图片描述

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

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

相关文章

8家最大的WooCommerce在线商店

想象一下,世界上三分之一的电子商务网站都由单一技术提供支持,而且令人惊讶的是它是免费的。我说的是最大的电子商务解决方案提供商之一,WooCommerce。在这里,我们列出了8 家最大的WooCommerce在线商店,以激发您建立自…

基于jsp+mysql+ssm供应链管理信息系统-计算机毕业设计

项目介绍 本文以销售供应链管理系统的开发为背景,对企业销售管理系统的分析,设计,开发和实施过程进行了详细的描述。本系统基于ssm框架访问作为后台数据库管理连接,通过jdbc与数据库建立连接,以jsp为前端开发工具提供…

数据库之MHA高可用集群部署及故障切换

目录 1 MHA概念 1.1 MHA 的组成 1.2 MHA 的特点 2 搭建MySQLMHA 2.2 修改三台MySQL服务器的主配置文件/etc/my.cnf,并创建命令软链接 2.3 配置MySQL一主两从 2.4 安装 MHA 软件 2.5 在所有服务器上配置无密码认证 2.6 在 manager 节点上配置 MHA 2.7 第一次配…

分类评价指标

不均衡数据 很多时候,不同类别的分类代价并不相等,这就是非均衡分类问题。如果在两个类别中,一个类别的出现次数比另一个多很多,那么错误类型将发挥重要作用。例如。我们一共有100个病人,其中99人是健康的&#xff08…

『.Net』在C#/.Net中将Json压缩成一行的几种方式

📣读完这篇文章里你能收获到 在.Net Core中使用多种方式将Json压缩成一行主要介绍两种实现方案,Newtonsoft.Json和内置的System.Text.Json 文章目录一、Newtonsoft.Json二、System.Text.Json一、Newtonsoft.Json 将 Formatting 参数设为 Formatting.No…

世界杯杂谈之有趣的数据纪录

目录 (一)前言 (二)正文 1. 关于出场 (1)出场次数 (2)出场时间最长球员 (3)连续出场决赛场次最多 (4)世界杯出场时间最短的人 …

在Mac上优雅的使用ssh和sftp (像win上的xshell和xftp一样)

怎样在Mac上SSH和FTP?完美替代XShell是哪个软件?item2吗?Royal TSX! 没有比它更好_哔哩哔哩_bilibili 下载Royal TSX Royal TSX https://www.royalapps.com/ts/mac/features 安装插件 创建document 在document里面添加ssh和sftp 点击左下角加号,依次选这两个,因为一样,所…

使用Jenkins扩展钉钉消息通知

Jenkins借助钉钉插件,实现当构建失败时,自动触发钉钉预警。虽然插件允许自定义消息主体,支持使用 Jenkins环境变量,但是局限性依旧很大。当接收到钉钉通知后,若想进一步查看报错具体原因,仍完全依赖邮件通知…

LWIP——无操作系统移植

目录 移植说明 LwIP前期准备 以太网DMA描述符 LwIP移植流程 添加网卡驱动程序 添加LwIP源文件 移植头文件 网卡驱动编写 移植总结 移植说明 LwIP的移植可以分为两大类:第一类是只移植内核核心,此时用户应用程序编写只能基于RaW/CallBack API进行…

mybatisplus 集成druid连接池源码分析

mybatisplus 集成druid连接池源码分析:从spring的源码过渡到druid的相关jar包,里面是druid相关的类,下面我们开始分析: 1、取数据库连接的地方入口:public abstract class DataSourceUtils 为spring-jdbc包里面的过渡…

深度学习 Day21——利用RNN实现心脏病预测

深度学习 Day21——利用RNN实现心脏病预测 文章目录深度学习 Day21——利用RNN实现心脏病预测一、前言二、我的环境三、什么是RNN四、前期工作1、设置GPU2、导入数据3、检查数据五、数据预处理1、划分数据集2、数据标准化六、构建RNN模型七、编译模型八、训练模型九、模型评估十…

网站TDK三大标签SEO优化

网站TDK三大标签SEO优化 SEO(Search Engine Optimization)汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式 SEO的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排…

day39 CSRFSSRF协议玩法内网探针漏洞利用

前言: #知识点: 1、CSRF-原理&危害&探针&利用等 2、SSRF-原理&危害&探针&利用等 3、CSRF&SSRF-黑盒下漏洞探针点 详细点: CSRF 全称:Cross-site request forgery,即,跨站…

java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码、数据库)

java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&…

RK3568平台开发系列讲解(系统优化篇)如何进行内存优化

🚀返回专栏总目录 文章目录 一、设备分级二、Bitmap 优化三、内存泄漏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢内存优化,应该从哪里着手呢?我通常会从设备分级、Bitmap 优化和内存泄漏这三个方面入手。 一、设备分级 内存优化首先需要根据设备环境来综合考虑…

硬件基础

目录 一、Cisco Packet Tracer 8.1.1安装 二、汉化 一、Cisco Packet Tracer 8.1.1安装 官方汉化包的Ciscohttps://www.netacad.com/portal/resources/browse/341e11c1-d03f-4433-9413-29b9d207e7eb 直接在官网下载但是官网有时候比较慢 思科数据包跟踪器 - 网络仿真工具 (n…

北斗/GNSS高精度数据处理暨GAMIT/GLOBK v10.75软件

随着GNSS导航定位技术在不同领域的广泛应用和技术更新的飞速发展,在大型工程项目的设计、施工、运行和管理各个阶段对工程测量提出了更高的要求,许多测绘、勘测、规划、市政、交通、铁道、水利水电、建筑、矿山、道桥、国土资源、气象、地震等行业部门在…

【实时数仓】介绍、需求分析、统计架构分析和ods层日志行为数据采集

文章目录一 电商实时数仓介绍1 普通实时计算与实时2 实时电商数仓分层二 实时数仓需求分析1 离线计算与实时计算的比较2 应数场景(1)日常统计报表或分析图中需要包含当日部分(2)实时数据大屏监控(3)数据预警…

不同系列的 ESP 芯片的 GPIO 默认初始状态

ESP 系列芯片的 GPIO 上电状态的含义: wpu: weak pull-up(为弱上拉模式)wpd: weak pull-down(为弱下拉模式)ie: input enable(输入使能模式)oe: output enable(输出使能模式&#x…

【Docker】第三章 镜像管理

3.1 镜像是什么 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统。 3.2 镜像从哪里来 Docker Hub 是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。 https://hub.docker.…