version: '3.7' # Settings and configurations that are common for all containers x-minio-common: &minio-common image: quay.io/minio/minio:${RELEASE} command: server http://site2-minio{1...4}/data{1...2} environment: - MINIO_PROMETHEUS_AUTH_TYPE=public - CI=true # starts 4 docker containers running minio server instances. # using nginx reverse proxy, load balancing, you can access # it through port 9000. services: site2-minio1: <<: *minio-common hostname: site2-minio1 volumes: - site2-data1-1:/data1 - site2-data1-2:/data2 site2-minio2: <<: *minio-common hostname: site2-minio2 volumes: - site2-data2-1:/data1 - site2-data2-2:/data2 site2-minio3: <<: *minio-common hostname: site2-minio3 volumes: - site2-data3-1:/data1 - site2-data3-2:/data2 site2-minio4: <<: *minio-common hostname: site2-minio4 volumes: - site2-data4-1:/data1 - site2-data4-2:/data2 site2-nginx: image: nginx:1.19.2-alpine hostname: site2-nginx volumes: - ./nginx-site2.conf:/etc/nginx/nginx.conf:ro ports: - "9002:9002" depends_on: - site2-minio1 - site2-minio2 - site2-minio3 - site2-minio4 ## By default this config uses default local driver, ## For custom volumes replace with volume driver configuration. volumes: site2-data1-1: site2-data1-2: site2-data2-1: site2-data2-2: site2-data3-1: site2-data3-2: site2-data4-1: site2-data4-2: