Без разделения его на бэкэнд и внешний интерфейс я бы не смог подключить несколько сервисов к одному и тому же бэкэнду и, следовательно, иметь балансировку нагрузки, даже если я настроил несколько сервисов.
version: '3.2'
services:
minio1:
image: minio/minio:RELEASE.2018-11-30T03-56-59Z
hostname: minio1
volumes:
- minio1-data:/export
ports:
- target: 9000
mode: host
networks:
- minio_distributed
- webgateway
deploy:
restart_policy:
delay: 10s
max_attempts: 10
window: 60s
labels:
- traefik.enable=true
- traefik.docker.network=webgateway
- traefik.backend=minio
- traefik.frontend.rule=Host:minio.mycooldomain.com
- traefik.port=9000
placement:
constraints:
- node.labels.minio1==true
command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
secrets:
- secret_key
- access_key
minio2:
image: minio/minio:RELEASE.2018-11-30T03-56-59Z
hostname: minio2
volumes:
- minio2-data:/export
ports:
- target: 9000
mode: host
networks:
- minio_distributed
- webgateway
deploy:
restart_policy:
delay: 10s
max_attempts: 10
window: 60s
labels:
- traefik.enable=true
- traefik.docker.network=webgateway
- traefik.backend=minio
- traefik.frontend.rule=Host:minio.mycooldomain.com
- traefik.port=9000
placement:
constraints:
- node.labels.minio2==true
command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
secrets:
- secret_key
- access_key
volumes:
minio1-data:
minio2-data:
minio3-data:
minio4-data:
networks:
minio_distributed:
driver: overlay
webgateway:
external: true
secrets:
secret_key:
external: true
access_key:
external: true
пример от меня, где службы "minio1" и "minio2" доступны через один домен.Обычно, как только у меня появляются разные сервисы, каждый из них автоматически получает свой собственный бэкэнд, и мне пришлось бы предоставлять каждому сервису свой собственный домен и только одну услугу, где я увеличивал число, эти дополнительные контейнеры были бы доступны в том же домене.
Надеюсь, я смог объяснить это немного на собственном опыте.:) Обратите внимание, что у меня даже есть 4 сервиса Minio, я просто сократил его, чтобы сократить конфигурацию