【Redis】Docker 部署集群补充说明

minio笔记01--部署与测试minio minio笔记01--部署与测试minio1 简介2 部署minio集群3 测试3.1 mc使用3.2 fuse使用4 补充说明 1 简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MyS 阅读详情

Docker 部署集群

上一节的Redis部署集群还有些不太清楚的地方,这里做补充说明,

这次我们用 docker 部署 11 个 redis 节点,九个用于部署集群,两个用于扩容练习,集群的结构类似于如图,由于 redis 部署集群时内部的随机性,可能节点的静态 ip 所属的角色都不太一样,无伤大雅~
![[Pasted image 20260601105749.png|533]]

Step 1:创建目录和配置

创建 redis-cluster 目录,在目录内部创建 docker-compose.yml 和 docker-compose.yml 文件,对应命令为

mkdir redis-cluster
cd redis-cluster
vim docker-compose.yml
vim docker-compose.yml

文件结构为

redis-cluster/
├── docker-compose.yml
└── generate.sh

Step 2:编写脚本

脚本 generate.sh 里内容为

for port in $(seq 1 9); \
do \
mkdir -p redis${port}/
touch redis${port}/redis.conf
cat << EOF > redis${port}/redis.conf
port 6379
bind 0.0.0.0
protected-mode no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.30.0.10${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
EOF
done

# 注意 cluster-announce-ip 的值有变化.
for port in $(seq 10 11); \
do \
mkdir -p redis${port}/
touch redis${port}/redis.conf
cat << EOF > redis${port}/redis.conf
port 6379
bind 0.0.0.0
protected-mode no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.30.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
EOF
done

保存后就能执行脚本啦,这个脚本的意思是在当前目录 redis-cluster 中建立从 redis 1~redis 11 的文件夹,每个中都有对应节点的必要配置文件。
⚠️注意:如果你服务器上有其他的网段占用,则需要修改当前脚本与后续的 yml 文件中的网段配置,只要不冲突即可。

sh generate.sh

执行完后如果没有任何反应那就是执行成功了,我们可以看看
![[Pasted image 20260601110846.png|584]]

Step 3:配置 yml

ok,我们接着来配置 docker-compose.yml 文件,内容有点长

version: '3.7'

networks:
  mynet:
    ipam:
      config:
        - subnet: 172.30.0.0/24

services:

  redis1:
    image: 'redis:5.0.9'
    container_name: redis1
version: '3.7'

networks:
  mynet:
    ipam:
      config:
        - subnet: 172.30.0.0/24

services:

  redis1:
    image: 'redis:5.0.9'
    container_name: redis1
    restart: always
    volumes:
      - ./redis1/:/etc/redis/
    ports:
      - 6371:6379
      - 16371:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.101

  redis2:
    image: 'redis:5.0.9'
    container_name: redis2
    restart: always
    volumes:
      - ./redis2/:/etc/redis/
    ports:
      - 6372:6379
      - 16372:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.102

  redis3:
    image: 'redis:5.0.9'
    container_name: redis3
    restart: always
    volumes:
      - ./redis3/:/etc/redis/
    ports:
      - 6373:6379
      - 16373:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.103

  redis4:
    image: 'redis:5.0.9'
    container_name: redis4
    restart: always
    volumes:
      - ./redis4/:/etc/redis/
    ports:
      - 6374:6379
      - 16374:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.104

  redis5:
    image: 'redis:5.0.9'
    container_name: redis5
    restart: always
    volumes:
      - ./redis5/:/etc/redis/
    ports:
      - 6375:6379
      - 16375:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.105

  redis6:
    image: 'redis:5.0.9'
    container_name: redis6
    restart: always
    volumes:
      - ./redis6/:/etc/redis/
    ports:
      - 6376:6379
      - 16376:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.106

  redis7:
    image: 'redis:5.0.9'
    container_name: redis7
    restart: always
    volumes:
      - ./redis7/:/etc/redis/
    ports:
      - 6377:6379
      - 16377:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.107

  redis8:
    image: 'redis:5.0.9'
    container_name: redis8
    restart: always
    volumes:
      - ./redis8/:/etc/redis/
    ports:
      - 6378:6379
      - 16378:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.108

  redis9:
    image: 'redis:5.0.9'
    container_name: redis9
    restart: always
    volumes:
      - ./redis9/:/etc/redis/
    ports:
      - 6379:6379
      - 16379:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.109

  redis10:
    image: 'redis:5.0.9'
    container_name: redis10
    restart: always
    volumes:
      - ./redis10/:/etc/redis/
    ports:
      - 6380:6379
      - 16380:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.110

  redis11:
    image: 'redis:5.0.9'
    container_name: redis11
    restart: always
    volumes:
      - ./redis11/:/etc/redis/
    ports:
      - 6381:6379
      - 16381:16379
    command:
      redis-server /etc/redis/redis.conf
    networks:
      mynet:
        ipv4_address: 172.30.0.111

如果没问题,就执行 sudo docker-compose up -d,启动容器并后台运行。

Step 4:配置集群

还有一个步骤,就是让各自的节点都能“认识对方”,目前只是配置了各个节点的配置,还没有配置他们之间的联系,需要用到一行命令,手动的将各个主机都连系起来。
这个命令直接在 cluster 路径下直接执行即可,无需进入 redis 服务。

redis-cli --cluster create 172.30.0.101:6379 172.30.0.102:6379 172.30.0.103:6379 172.30.0.104:6379 172.30.0.105:6379 172.30.0.106:6379 172.30.0.107:6379 172.30.0.108:6379 172.30.0.109:6379 --cluster-replicas 2

执行后 redis 会默认帮你弄好集群的分片配置,这里都描述了每个分片的 slot 数量,主从节点的分配等…确认无误的话就能输入 yes 下一步真正配置咯
![[Pasted image 20260601104244.png|847]]

到这里 redis 的分片集群就真正配置好了~

AI聊天应用落地:从设计、构建到Docker部署的完整工程链路 AI聊天应用本质上是状态驱动的分布式系统,其核心不在模型推理本身,而在于HTTP无状态协议与多轮对话状态管理之间的工程弥合。理解RESTful API网关、Redis会话生命周期、SSE流式传输与vLLM高性能服务协同原理,是保障低延迟、高可用和可维护性的技术基础。这类系统需兼顾安全性(JWT鉴权、速率限制)、可观测性(健康检查、组件探活)与弹性扩展(Docker容器化、服务解耦),广泛应用于智能客服、企业知识助手及嵌入式AI交互场景。本文聚焦真实交付中高频出现的部署失稳、状态丢失与流式中断问题,提供基于F 阅读详情

相关推荐

Docker容器化部署AI应用:从DeepSeekHarness看复杂项目一键部署实践

在软件开发和部署领域,环境一致性和依赖管理是长期存在的挑战。容器化技术通过封装应用及其所有依赖,实现了从开发到生产环境的无缝迁移,其核心原理是操作系统级别的虚拟化隔离。这项技术的工程价值在于彻底解决了“在我机器上能运行”的经典问题,显著提升了部署效率和系统可靠性。在AI应用开发、微服务架构和持续集成/持续部署(CI/CD)等场景中,容器化已成为标准实践。本文以DeepSeekHarness这一典型AI应用框架为例,深入探讨如何将复杂的Python项目进行Docker化改造,涵盖多阶段构建、配置外置、数据持久

weixin_33913332的博客 452

Redis三主三从集群搭建(docker版)

在本地找不到,会到远程仓库查找镜像 https://cr.console.aliyun.com/cn-beijing/instances 4.重启daemon 5.重启docker 2.部署规划图 3.从redis6.0.8中得到一份redis.conf的配置文件 1.将压缩包上传到/opt目录下 3.复制一份redis.conf到/app/redis目录下 4.查看配置文件 2.设置redis密码 requirepass foobared 3.进行操作测试 https://cr

Sun的个人博客 3919

基于yolov5的鸟类图像准确识别

本项目主要基于yolov5进行鸟类准确识别,主要识别白鹭家族,红脚鹬,反嘴鹬,环颈珩,小白鹭以及夜鹭六类鸟

weixin_46064184的博客 3822

docker-compose安装redis集群

前言 在现如今数据量越来越大的时代,一台redis进行数据缓存是远远不够的,这时候就需要使用到了集群技术。来帮助master解决读的压力,让读的操作去slave进行。这样可以保证redis不会宕机。下面进行实践操作 一:创建一个文件夹,用于适用docker-compose.yml文件 cd /usr/local #进入usr/local 目录 sudo mkdir -p docker/redis docker/sentinel #创建docker文件夹并在其下创建redis和sentin

Timor_TT的博客 1125

电动汽车充电设备标准化设计方案:电气原理图

80kW一体式一机一枪充电机电气原理 主电路拓扑见图1,配置1个250A直流充电连接装置,提供4个充电模块安装位置,根据充电功率需求可选配2~4个20kW充电模块。内置直流电能表和计费控制单元,实现计量计费和充电控制功能。 图1 80kW一体式一机一枪充电机主电路拓扑 ...

santirenpc的博客 1万+

Zemax显微镜设计:从物镜到目镜的完整光学系统优化

本文详细介绍了使用Zemax进行显微镜光学系统设计的完整流程,从物镜到目镜的优化技巧。通过实战案例和关键参数设置,帮助读者掌握数值孔径、视场角等核心概念,实现高分辨率显微镜设计。文章特别强调了系统级优化和公差分析的重要性,为科研和工业检测提供可靠的光学解决方案。

weixin_42549451的博客 435

docker高级篇(大厂进阶):安装redis集群

docker高级篇(大厂进阶):安装redis集群

刘大猫 1404

echarts 生成中国陕西省份(或其他省份)的地图,大屏使用

效果图: 一、首先第一步需要下载echarts和获取到陕西身份的地图信息。 1.下载echarts链接(官网): Apache ECharts 2.生成指定省份的地图数据信息,数据可以在阿里云获取。 DataV.GeoAtlas地理小工具系列 如图,点击左圈需要的省份,这里我选择的是陕西省,然后点击右圈复制下载链接,得到一个json格式的数据,可以在json转换网站转成js格式。 Json在线解析格式化-Json在线校验Json格式化压缩-Jsons在线工具 转成js格.

PrimaryColor 3889

docker安装redis提示没有日记写入权限_Docker部署Redis集群----第五节(docker-redis集群主从复制【下】实践篇)...

今天我们继续来讲docker部署redis集群的下篇也是主从复制的最后一篇,本篇文章所讲的内容是建立在上节课 的理论基础之上。 经过上节课的一些知识点的介绍,我们了主要解到了“数据延迟”、“配置不一致”、“如何规避全量复制的复制风暴” 三个问题,所以本章篇幅就给大家用命令的形式来演示这些问题出现的结果。在讲本节课之前,我们先来熟悉并使用下docker的指令并使用COPY和ADD,还记的我们的第三节...

weixin_39867296的博客 350

国科大——形式语言与自动机理论(0812课程)——作业

此次作业题考察,包括但不限于有限自动机、无限自动机、正则文法、正则表达式以及正则语言的性质,题考查下推自动机相关的知识,题考查图灵机相关的知识。此课程建议本科学习过课程的同学选修,成绩占比:考试100%。此课程虽然留有作业,但可做也可不做,且不考勤。

qq_54145399的博客 705

从AXI到CHI:深入解析基于Credit的流量控制如何优化NoC设计

本文深入解析了从AXI握手式流控到CHI基于Credit的流量控制机制的演进。通过对比传统流控的瓶颈,详细阐述了Credit机制如何通过信用预分配和记账系统,有效解决FIFO气泡、时序收敛等难题,从而优化NoC设计的带宽利用率、降低延迟并提升系统可扩展性。

weixin_29227585的博客 522

Kubernetes 构建高可用、高性能 Redis 集群

本文介绍在K8s环境构建高可用Redis集群的流程,基于3节点K8s集群与NFS/Harbor节点,核心步骤包括:搭建NFS提供持久化存储,通过NFS Provisioner+StorageClass实现动态PV供应,以StatefulSet部署3主3从 Redis 集群并初始化槽位,构建Redis Cluster Proxy解决客户端兼容性与外部访问问题,最后通过读写/故障测试验证可用性,部署RedisInsight实现图形化运维。实验实现Redis集群故障自动切换、存储动态管理、访问透明化,满足业务需求

a_2373179473的博客 1563

嵌入式系统开发笔记112:通过有人云测试MQTT

项目中使用到“有人”公司的WH-LTE-7S0模块,本文讲解通过有人云进行MQTT测试的方法。

snmplink的博客 997

Spring Data Redis 主从集群 哨兵集群 分片集群 yml 配置

Spring Data Redis 主从集群 哨兵集群 分片集群 yml 配置

道友 595

PCL SVD分解求变换矩阵【2026最新版】

该算例使用奇异矩阵分解来求变换矩阵,输入的是同名点坐标输出的是变换矩阵。博客长期更新,本文最近一次更新时间为:2026年5月10日。

点云侠的博客 36万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Undermoon开发者指南:用Rust构建高性能Redis集群管理系统

Undermoon是一个基于Rust构建的现代Redis集群解决方案,旨在简化Redis集群的运维与管理。本指南将带你了解如何从零开始开发和贡献这个高性能的分布式系统,掌握Rust在数据库中间件领域的实践应用。 ## 项目架构概览 Undermoon采用分层架构设计,主要包含四大核心组件: ### 元数据存储(Metadata Storage) 负责维护集群拓扑结构和节点状态,采用内存优先的

gitblog_01177的博客 887

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Docker安装redis、nacos、rabbitmq、nginx、ftp、mongodb

https://blog.youkuaiyun.com/weixin_42456466/article/details/87270959 补充: docker exec -it myredis /bin/bash可进入正在运行的容器 进入之后: redis-cli 如果设置了密码别忘了auth “yourpassword”

锦年的博客 3955

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

redis 查看config_Docker部署Redis集群----第五节(docker-redis集群主从复制【下】实践篇)...

今天我们继续来讲docker部署redis集群的下篇也是主从复制的最后一篇,本篇文章所讲的内容是建立在上节课 的理论基础之上。 经过上节课的一些知识点的介绍,我们了主要解到了“数据延迟”、“配置不一致”、“如何规避全量复制的复制风暴” 三个问题,所以本章篇幅就给大家用命令的形式来演示这些问题出现的结果。在讲本节课之前,我们先来熟悉并使用下docker的指令并使用COPY和ADD,还记的我们的第三节...

weixin_32239523的博客 183

Redis+docker构建主从环境

Redis+docker构建主从环境第一篇博客:搭建两台docker的redis容器 第一篇博客: 恰巧因为最近学习心爆棚,还有一些个人原因,想记录一些自个认为以后工作会需要的,并且容易混淆的知识点。有个前辈和我说过,现在面试基本都是考验性能和高可用,比如:性能优化的mysql的redis的,分布式缓存,分布式锁、多级缓存、缓存一致性、负载均衡。这里,我想先从redis章节开始记录,主要可能就是redis的主从复制,读写分离,分布式缓存,哨兵机制吧。 搭建两台docker的redis容器 构建dock

qq_30358827的博客 483

LLM - Docker离线部署Dify

Dify 是一个基于人工智能的内容扩写工具,旨在帮助用户高效地扩展和优化文本内容。它能够根据用户提供的初始文本,自动补充细节、背景信息和相关示例,使表达更加完整和具体,同时保持逻辑连贯性。

Made In SQL 911

Docker与K8S零基础入门:从环境搭建到集群部署实战指南

1. 先搞清楚这套教程到底能帮你解决什么问题 如果你正在看Linux运维、云计算或者想转行做运维开发,大概率会碰到Docker和Kubernetes这两个词。它们几乎是现在企业里做应用部署和管理的标配。但很多新手一上来就被各种概念、命令和复杂的集群环境劝退,网上资料又多又杂,不知道从哪里开始,更不知道怎么才算“学会”。 这套“Docker+K8S”教程,核心目标就是解决这个“从零到一”的落地问题。它不是一个单纯的概念科普,而是试图通过一期集中的视频内容,配合课件,让你能动手把环境搭起来,把最基本的容器跑起来

快马扬鞭须努力! 404

CentOS上部署Redis及其哨兵(Sentinel)模式

架构:说明我这里是伪集群的,redis 在同一台机器,Sentinel 只有一个,也存在单点故障问题要满足生产至少是下面这种架构重新运行: ./redis_sentinel_manager.sh install。

dj1955的博客 518

【全网最细MacBook实操】Canal搭建全方案(Maven源码打包首选)+ Redis集群适配 + SpringBoot同步|附3种部署方案+本地踩坑全集

📝【MacBook本地部署Canal全攻略】 本文提供3种实测可行的Canal部署方案,重点推荐Maven源码打包(Mac最稳方案),适配本地/usr/local路径,全程不改动Redis集群配置。 ✅ 核心方案: Maven源码编译(首选):Git拉取源码+Maven打包,完美适配Mac环境 离线包部署:快速但需处理Mac权限问题 Docker方案:便捷但需注意网络配置。适合Java后端开发者本地调试,代码/命令可直接复制,拒绝理论化步骤!

weixin_45509050的博客 422

Docker从入门到初步掌握

提纲:Docker和Kubernetes关系 本人开始今天分享之前想提以前简单的问题,大家可以试试回答。Kubernetes和Docker关系? Kubernetes的作用是管理容器,docker一旦变多,重启,容器通信等一系列过程就需要一个工具来进行管理,这就是Kubernetes做的事情 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0e3b7jk-1634551438143)(https://i.loli.net/2021/08/31/uaVmcBry6ALT2

硬水果糖 5280

EFAK-AI:Kafka集群AI驱动的终极监控解决方案

Apache Kafka作为现代分布式系统的核心组件,其运维监控一直是开发者和运维工程师面临的挑战。EFAK-AI(Eagle For Apache Kafka - AI Enhanced)作为一款开源的Kafka智能监控与管理平台,融合了人工智能技术,为您提供智能化、可视化、自动化的全方位解决方案。这个AI驱动的监控系统能够在5分钟内完成部署,让您轻松掌握Kafka集群的每一个细节。 ## ?

gitblog_00329的博客 420

docker学习文档

docker学习文档

qq_42449963的博客 3784
上一篇: 【Redis】一文讲透缓存更新策略与缓存预热、穿透、雪崩、击穿
下一篇: 【Redis】事务详解、WATCH 实现思想
Jul1en_
博客等级 码龄2年 275粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值