Redis集群部署三主三从(docker-compose方式)

  • Redis集群部署(docker-compose方式)

在2台服务器上使用Docker搭建Redis集群(两台服务器三主三从)的步骤如下:

1. 环境准备

服务器A:IP地址为 10.10.10.11

节点redis-1 端口6380,16380

节点redis-2端口6381,16381

节点redis-3 端口6382,16382

服务器B:IP地址为 10.10.10.12

节点redis-3 端口6383,16383

节点redis-4端口6384,16384

节点redis-5 端口6385,16385

确保两台服务器已安装Docker和Docker Compose。

2. 编写Docker Compose文件

在每台服务器上创建 docker-compose.yml 文件。

服务器A的 docker-compose.yml:

#version: '3.7'

services:

  redis-1:

    image: redis:7.4.2

    container_name: redis-1

    ports:

      - "6380:6379"

      - "16380:16379"  #集群总线通信端口,需要暴露出来

    sysctls:

      - net.core.somaxconn=1024

    volumes:

      - ./redis-1/redis.conf:/usr/local/etc/redis/redis.conf

      - ./redis-1/data:/data

    networks:

      - redis-net

    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-2:

    image: redis:7.4.2

    container_name: redis-2

    ports:

      - "6381:6379"

      - "16381:16379"

    sysctls:

      - net.core.somaxconn=1024 

    volumes:

      - ./redis-2/redis.conf:/usr/local/etc/redis/redis.conf

      - ./redis-2/data:/data

    networks:

      - redis-net

    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-3:

    image: redis:7.4.2

    container_name

好的,以下是一个简单的redis集群部署三主三从docker-compose编排示例: ```yaml version: '3' services: redis-master-1: image: redis command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6379:6379" volumes: - redis-master-data-1:/data networks: - redis-net redis-master-2: image: redis command: redis-server --port 6380 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6380:6380" volumes: - redis-master-data-2:/data networks: - redis-net redis-master-3: image: redis command: redis-server --port 6381 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6381:6381" volumes: - redis-master-data-3:/data networks: - redis-net redis-slave-1: image: redis command: redis-server --port 6382 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --slaveof redis-master-1 6379 --appendonly yes volumes: - redis-slave-data-1:/data networks: - redis-net redis-slave-2: image: redis command: redis-server --port 6383 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --slaveof redis-master-2 6380 --appendonly yes volumes: - redis-slave-data-2:/data networks: - redis-net redis-slave-3: image: redis command: redis-server --port 6384 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --slaveof redis-master-3 6381 --appendonly yes volumes: - redis-slave-data-3:/data networks: - redis-net volumes: redis-master-data-1: redis-master-data-2: redis-master-data-3: redis-slave-data-1: redis-slave-data-2: redis-slave-data-3: networks: redis-net: ``` 在这个docker-compose文件中,我们定义了6个redis实例,其中3个是主节点,3个是从节点,并且每个节点都会在本地暴露对应的端口。我们还定义了一个名为redis-net的网络,以便在容器之间进行通信。通过这个docker-compose文件,我们可以使用`docker-compose up`命令启动这个redis集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhidepikaqiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值