使用docker-compose搭建redis7集群-3主3从

在这里插入图片描述

下面是一个用于搭建 Redis 集群的 docker-compose.yml 示例文件,它会启动 6 个 Redis 节点(3 主节点 + 3 从节点)来构成一个最小的 Redis 集群。

同一个容器内网通讯没问题,但是你要是需要暴露到外网你需要用第二个yml

内网的

version: '3.8'
services:
  redis-node1:
    image: redis:7.0
    container_name: redis-node1
    command: ["redis-server", "--port", "6379", "--cluster-enabled", "yes", "--cluster-config-file", "nodes.conf", "--cluster-node-timeout", "5000", "--appendonly", "yes", "--cluster-announce-ip", "redis-node1", "--cluster-announce-port", "6379", "--cluster-announce-bus-port", "16379"]
    ports:
      - "6379:6379"
      - "16379:16379"
    volumes:
      - ./data/redis-node1:/data
    networks:
      - redis-cluster

  redis-node2:
    image: redis:7.0
    container_name: redis-node2
    command: ["redis-server", "--port", "6379", "--cluster-enabled", "yes", "--cluster-config-file", "nodes.conf", "--cluster-node-timeout", "5000", "--appendonly", "yes", "--cluster-announce-ip", "redis-node2", "--cluster-announce-port", "6379", "--cluster-announce-bus-port", "16379"]
    ports:
      - "6380:6379"
      - "16380:16379"
    volumes:
      - ./data/redis-node2:/data
    networks:
      - redis-cluster

  redis-node3:
    image: redis:7.0
    container_name: redis-node3
    command: ["redis-server", "--port", "6379", "--cluster-enabled", "yes", "--cluster-config-file", "nodes.conf", "--cluster-node-timeout", "5000",