本文介绍: 要使用 Docker Compose 搭建一个包含 1 个主节点和 2 个从节点的 Redis 集群,并将数据和日志文件挂载到宿主机上,你需要编写一个文件。这个文件将定义三个 Redis 服务,并配置相应的卷来持久化数据和日志。下面是一个相应的。
要使用 Docker Compose 搭建一个包含 1 个主节点和 2 个从节点的 Redis 集群,并将数据和日志文件挂载到宿主机上,你需要编写一个 docker-compose.yml
文件。这个文件将定义三个 Redis 服务,并配置相应的卷来持久化数据和日志。
下面是一个相应的 docker-compose.yml
文件示例:
version: '3'
services:
redis-master:
image: redis
ports:
- "6379:6379"
volumes:
- ./redis-master/data:/data
- ./redis-master/logs:/var/log/redis
command: redis-server --appendonly yes --requirepass Shgbit@2023
redis-slave-1:
image: redis
ports:
- "6380:6379"
volumes:
- ./redis-slave/data:/data
- ./redis-slave/logs:/var/log/redis
command: redis-server --slaveof redis-master 6379 --appendonly yes --requirepass Shgbit@2023 --masterauth Shgbit@2023
redis-slave-2:
image: redis
ports:
- "6381:6379"
volumes:
- ./redis-slave2/data:/data
- ./redis-slave2/logs:/var/log/redis
command: redis-server --slaveof redis-master 6379 --appendonly yes --requirepass Shgbit@2023 --masterauth Shgbit@2023
解释
- 服务定义:定义了一个名为
redis-master
的主节点服务和两个从节点服务redis-slave-1
和redis-slave-2
。 - 端口映射:主节点映射了 6379 端口,从节点分别映射了 6380 和 6381 端口,以避免端口冲突。
- 卷挂载:每个服务都挂载了两个卷,一个用于数据 (
/data
),另一个用于日志 (/var/log/redis
)。这些卷映射到宿主机上的相应目录。 - 命令:使用
--appendonly yes
开启 AOF 持久化。从节点还配置了--slaveof
参数指向主节点。
使用指南
- 保存此内容为
docker-compose.yml
。 - 确保
./master-data
,./master-logs
,./slave1-data
,./slave1-logs
,./slave2-data
,./slave2-logs
这些目录在你的宿主机上存在,否则 Docker 将会自动创建它们,但可能会由于权限问题导致 Redis 无法写入数据或日志。 - 在包含此
docker-compose.yml
文件的目录下运行docker-compose up
来启动服务。 - 可以通过
docker-compose down
停止并移除服务。
请注意,这个配置主要用于开发和测试目的。对于生产环境,可能需要更复杂的配置,包括网络安全设置、更复杂的持久化策略和高可用性配置。
原文地址:https://blog.csdn.net/sunyuhua_keyboard/article/details/134690847
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39978.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。