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

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总