#docker #docker-compose
Вопрос:
Мы можем выполнить балансировку нагрузки на сервис, используя Nginx в качестве сервиса. Файл создания выглядит следующим образом:
version: "3"
services:
nginx:
image: nginx:latest
ports:
- "80"
depends_on:
- service-api
service-api:
build:
context: ./service_api
dockerfile: Dockerfile
expose:
- "3000"
Конфигурация Ngnix выглядит так:
http {
server {
listen 80;
location / {
proxy_pass http://service-api:3000;
}
}
}
Если мы начнем с приведенного выше файла compose docker-compose up --scale service-api=4
, то docker создаст 4 экземпляра service-api
и распределит нагрузку на доступ из службы nginx
к каждому из них.
Однако мне не нужны все накладные расходы Nginx, мне просто нужен порт доступа 80 и оставьте Docker для балансировки нагрузки. Есть ли способ избежать Nginx ?