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