docker compose 搭建reids集群 1主2从架构

2023-11-29 17:20

本文主要是介绍docker compose 搭建reids集群 1主2从架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要使用 Docker Compose 搭建一个包含 1 个主节点和 2 个从节点的 Redis 集群,并将数据和日志文件挂载到宿主机上,你需要编写一个 docker-compose.yml 文件。这个文件将定义三个 Redis 服务,并配置相应的卷来持久化数据和日志。

下面是一个相应的 docker-compose.yml 文件示例:


version: '3'services:redis-master:image: redisports:- "6379:6379"volumes:- ./redis-master/data:/data- ./redis-master/logs:/var/log/rediscommand: redis-server --appendonly yes --requirepass Shgbit@2023redis-slave-1:image: redisports:- "6380:6379"volumes:- ./redis-slave/data:/data- ./redis-slave/logs:/var/log/rediscommand: redis-server --slaveof redis-master 6379 --appendonly yes  --requirepass Shgbit@2023 --masterauth Shgbit@2023redis-slave-2:image: redisports:- "6381:6379"volumes:- ./redis-slave2/data:/data- ./redis-slave2/logs:/var/log/rediscommand: redis-server --slaveof redis-master 6379 --appendonly yes   --requirepass Shgbit@2023 --masterauth Shgbit@2023

解释

  • 服务定义:定义了一个名为 redis-master 的主节点服务和两个从节点服务 redis-slave-1redis-slave-2
  • 端口映射:主节点映射了 6379 端口,从节点分别映射了 6380 和 6381 端口,以避免端口冲突。
  • 卷挂载:每个服务都挂载了两个卷,一个用于数据 (/data),另一个用于日志 (/var/log/redis)。这些卷映射到宿主机上的相应目录。
  • 命令:使用 --appendonly yes 开启 AOF 持久化。从节点还配置了 --slaveof 参数指向主节点。

使用指南

  1. 保存此内容为 docker-compose.yml
  2. 确保 ./master-data, ./master-logs, ./slave1-data, ./slave1-logs, ./slave2-data, ./slave2-logs 这些目录在你的宿主机上存在,否则 Docker 将会自动创建它们,但可能会由于权限问题导致 Redis 无法写入数据或日志。
  3. 在包含此 docker-compose.yml 文件的目录下运行 docker-compose up 来启动服务。
  4. 可以通过 docker-compose down 停止并移除服务。

请注意,这个配置主要用于开发和测试目的。对于生产环境,可能需要更复杂的配置,包括网络安全设置、更复杂的持久化策略和高可用性配置。

这篇关于docker compose 搭建reids集群 1主2从架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433687

相关文章

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis