1. 程式人生 > >使用Docker 手動&redis-trib.rb方式創建 Redis-Cluster 實驗(一)

使用Docker 手動&redis-trib.rb方式創建 Redis-Cluster 實驗(一)

bridge master home ddr efault config six ash nvi

docker-compose 與 Dockerfile

docker-compose.yaml

version: "3.6"
services:
  redis-master1:
    image: redis-cluster
    container_name: redis-master1
    working_dir: /config
    environment:
      - PORT=6391
    ports:
      - "6391:6391"
      - "16391:16391"
    stdin_open: true
    networks:
      redis-master:
        ipv4_address: 172.50.0.2
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh
  redis-master2:
    image: redis-cluster
    container_name: redis-master2
    working_dir: /config
    environment:
      - PORT=6392
    ports:
      - "6392:6392"
      - "16392:16392"
    stdin_open: true
    networks:
      redis-master:
        ipv4_address: 172.50.0.3
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh
  redis-master3:
    image: redis-cluster
    container_name: redis-master3
    working_dir: /config
    environment:
      - PORT=6393
    ports:
      - "6393:6393"
      - "16393:16393"
    stdin_open: true
    networks:
      redis-master:
        ipv4_address: 172.50.0.4
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh

  redis-slave1:
    image: redis-cluster
    container_name: redis-slave1
    working_dir: /config
    environment:
      - PORT=6394
    networks:
      redis-slave:
        ipv4_address: 172.30.0.2
    ports:
      - "6394:6394"
      - "16394:16394"
    stdin_open: true
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh

  redis-slave2:
    image: redis-cluster
    container_name: redis-slave2
    working_dir: /config
    environment:
      - PORT=6395
    networks:
      redis-slave:
        ipv4_address: 172.30.0.3
    ports:
      - "6395:6395"
      - "16395:16395"
    stdin_open: true
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh

  redis-slave3:
    image: redis-cluster
    container_name: redis-slave3
    working_dir: /config
    environment:
      - PORT=6396
    networks:
      redis-slave:
        ipv4_address: 172.30.0.4
    ports:
      - "6396:6396"
      - "16396:16396"
    stdin_open: true
    tty: true
    privileged: true
    volumes: ["/home/work/docker/six-star/config:/config"]
    entrypoint:
      - /bin/bash
      - redis.sh

networks:
  redis-master:
    driver: bridge
    ipam:
      driver: default
      config:
        -
          subnet: 172.50.0.0/16
  redis-slave:
    driver: bridge
    ipam:
      driver: default
      config:
        -
          subnet: 172.30.0.0/16
  redis-test:
    external:
      name: mynetwork

使用Docker 手動&redis-trib.rb方式創建 Redis-Cluster 實驗(一)