Я пытаюсь запустить две 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

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