version: "3.7" x-default: &defaults privileged: true build: context: redis-cluster restart: always stdin_open: true tty: true services: redis1: <<: *defaults container_name: redis1 ports: - "0.0.0.0:6379:6379" - "0.0.0.0:16379:16379" volumes: - ./redis-cluster/conf/redis1.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis1:/data:rw redis2: <<: *defaults container_name: redis2 ports: - "0.0.0.0:6380:6380" - "0.0.0.0:16380:16380" volumes: - ./redis-cluster/conf/redis2.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis2:/data:rw redis3: <<: *defaults container_name: redis3 ports: - "0.0.0.0:6381:6381" - "0.0.0.0:16381:16381" volumes: - ./redis-cluster/conf/redis3.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis3:/data:rw redis4: <<: *defaults container_name: redis4 ports: - "0.0.0.0:6382:6382" - "0.0.0.0:16382:16382" volumes: - ./redis-cluster/conf/redis4.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis4:/data:rw depends_on: - redis1 - redis2 - redis3 redis5: <<: *defaults container_name: redis5 ports: - "0.0.0.0:6383:6383" - "0.0.0.0:16383:16383" volumes: - ./redis-cluster/conf/redis5.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis5:/data:rw depends_on: - redis1 - redis2 - redis3 redis6: <<: *defaults container_name: redis6 ports: - "0.0.0.0:6384:6384" - "0.0.0.0:16384:16384" volumes: - ./redis-cluster/conf/redis6.conf:/etc/redis.conf:rw - ${DATA_PATH}/redis6:/data:rw depends_on: - redis1 - redis2 - redis3 redis_cluster_creator: container_name: redis_cluster_creator privileged: true ports: - "0.0.0.0:6385:6379" - "0.0.0.0:16385:16379" build: context: redis-cluster-creator depends_on: - redis1 - redis2 - redis3 - redis4 - redis5 - redis6