@drowzeenico

Можно-ли запустить локальную mongo параллельно с mongo, запущенную через docker-compose?

Есть проект, собранный из контейнеров и запускаемый через docker-compose. Одним контейнером там идет mongodb. В принципе, все работает. Но тех.лид запросил сделать так, чтобы вся эта система запускалась безболезненно, даже если на системе установлена и запущена локальная монга.

Решил сделать через переопределение в docker-compose.override файл. Я не особый спец по докерам и подумал, что если указать другие порты, отличные от дефолтного порта монги, все это заработает. Выяснилось, что порты, вместо перезаписи - конкатенируются. То есть, конфликт остался, проект не запускается. Но все отлично работает, если выключить локальную монгу.

Вот docker-compose.yml
version: '3'

services:
  # тут другие контейнеры

  mongo:
    image: mongo:latest
    container_name: 'mongodb'
    environment:
      - MONGO_DATA_DIR=/data/db
    volumes:
      - ./data/db:/data/db
    ports:
      - 27017:27017
    command: mongod --smallfiles --logpath=/dev/null

А вот override:
version: '3'

services:
  mongo:
    ports:
     - 27001:27017

Я ожидал, что контейнерная монга запустится на 27001 порту, но она так же стартует на 27017, который уже занят локальной бд, потому docker-compose up --build крашится.

Возможно-ли запустить две эти монги одновременно?
Можно-ли это реализовать через docker-compose.override?
Я вообще правильно делаю? )
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Да, можно запускать столько, на сколько мощей и портов хватит. Главное чтоб у них были разные порты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы