Объявление порта в Spring Data MongoDB при использовании docker compose scale - PullRequest
0 голосов
/ 10 сентября 2018

Я использую 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?

Или есть другое более чистое решение для этой балансировки нагрузки?

...