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

相关文章

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri