Как запустить несколько MongoDB с разными портами в docker-compose?

Я пытаюсь запустить две MongoDB в одной докере-компоновке. Поскольку я хочу хранить разные данные в каждой из баз данных, мне нужно различать их по разным портам. Если я запускаю следующую команду docker-compose, все работает нормально для порта 27017, но я не могу получить доступ к порту 27018. В консоли все выглядит одинаково для обеих служб, только следующий журнал отсутствует для службы на порту 27018:

СЕТЬ [initandlisten] ожидает подключения на порту 27017 (отображается для порта 27017)

Когда я пытаюсь получить доступ к обеим службам в браузере, служба на порту 27017 работает, а другая - на 27018 - нет.

Я очень рад, если кто-нибудь сможет мне помочь с этой проблемой. Над этим работали с тех пор довольно долго. Спасибо!

Вот мой код:

version: "3"

services:
  mongo:
    image: mvertes/alpine-mongo:4.0.1-0
    volumes:
    - mongoDBvolume:/data/db
    ports:
    - "27017:27017"

   testmongo:
    image: mvertes/alpine-mongo:4.0.1-0
    command: mongod --port 27018
    volumes:
    - mongoDBvolume:/data/testdb
    ports:
    - "27018:27017"

volumes:
  mongoDBvolume:
    driver: local
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
2 036
1

Ответы 1

Просто удалите command: mongod --port 27018, чтобы он оказался на порту 27017 внутри контейнера.

Поток такой:

Хост 27018 <--> docker bridge 27018: 27017 <--> контейнер mongo 27017

Другие вопросы по теме