Я использую docker-compose для запуска приложения Spring Boot и вспомогательного сервиса MongoDB.
services:
products.api:
container_name: products_api
restart: always
build: ./
working_dir: /app
ports:
- "8080-9000:8080-9000"
volumes:
- ./:/app
- ~/.m2:/root/.m2
expose:
- "8080-9000"
command: ./mvnw clean spring-boot:run
depends_on:
- mongo_db
mongo_db:
image: sameersbn/mongodb:latest
ports:
- "27017-28017:27017-28017"
volumes:
- ./dockerMem:/var/lib/mongodb
restart: always
Для подключения к экземпляру MongoDB из моего приложения я указал следующее в моем application.properties
spring.data.mongodb.uri=mongodb://mongo_db:27017/test
Теперь я пытаюсь масштабировать, используя docker-compose --scale
, используя следующую команду:
docker-compose up -d --scale products.api=2 --scale mongo_db=3
Как я могу указать случайные порты, которые будут назначены экземплярам Mongo после масштабирования в application.properties
?
Или есть другое более чистое решение для этой балансировки нагрузки?