# 部署多主多从(v2)
version: '3.8'
services:
  redis1:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7001
        published: 7001
        protocol: tcp
        mode: host
      - target: 17001
        published: 17001
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7001' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
  redis2:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7002
        published: 7002
        protocol: tcp
        mode: host
      - target: 17002
        published: 17002
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7002' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
  redis3:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7003
        published: 7003
        protocol: tcp
        mode: host
      - target: 17003
        published: 17003
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7003' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
  redis4:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7004
        published: 7004
        protocol: tcp
        mode: host
      - target: 17004
        published: 17004
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7004' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
  redis5:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7005
        published: 7005
        protocol: tcp
        mode: host
      - target: 17005
        published: 17005
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7005' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
  redis6:
    image: redis:5.0.4
    networks:
      - middleware
    ports:
      - target: 7006
        published: 7006
        protocol: tcp
        mode: host
      - target: 17006
        published: 17006
        protocol: tcp
        mode: host
    command: bash -c "echo 'port 7006' > redis.conf  && echo 'bind 0.0.0.0' >> redis.conf && echo 'protected-mode no' >> redis.conf && echo 'cluster-enabled yes' >> redis.conf && echo 'appendonly yes' >> redis.conf && echo 'requirepass foobared' >> redis.conf  && echo 'masterauth foobared' >> redis.conf  && echo 'cluster-announce-ip 10.0.16.27' >> redis.conf  && cat redis.conf && redis-server redis.conf"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      restart_policy:
        condition: on-failure
networks:
  middleware:
    external: true
# 相关执行说明文档看./doc.md文件