Что лучше всего подходит для приложения node с mongodb с использованием контейнера докеров? Как узел, так и mongodb в одном контейнере докеров или связанные отдельные контейнеры nodeApp и mongodb?
Я пробовал оба подхода, и оба они у меня сработали. В первом случае я взял образ на основе ubuntu, установил node и mongodb с помощью Dockerfile и запустил этот контейнер, в котором обе среды находятся в одном контейнере. А во втором случае я использовал базовые образы node и mongodb и работал как отдельные контейнеры. Но не знаете, какой подход выбрать?





Учитывая масштабируемость. Было бы идеально использовать отдельный контейнер как для Node, так и для MongoDB.
Это дает вам гибкость. Если вы хотите перенести только свой контейнер MongoDB на другой экземпляр или сервер.
Подход с использованием обоих в отдельных контейнерах дает вам множество преимуществ, первое из которых заключается в том, что вы можете масштабировать их независимо друг от друга.
В дополнение к этому это также позволит вам использовать более легкие образы, поскольку они требуют только очень определенного набора зависимостей.
Это также позволит вам создать более гибкую среду на будущее, то есть, если вы когда-нибудь захотите добавить больше контейнеров, которые зависят только от одного из этих контейнеров, или наоборот, вы уменьшите количество взаимодействий между компонентами. Если бы оба были в одном контейнере, было бы невозможно разрешить другому контейнеру доступ только к MongoDB, например. Или, если вы расширяете свое приложение Node, позвольте ему подключаться только к другому внутреннему контейнеру вместо того, чтобы также связывать этот внутренний сервер с mongo.
TL; DR использует подход с двумя отдельными контейнерами, это то, для чего предназначен докер, и обеспечивает максимальную гибкость