@LionG

Docker контейнер для каждого приложения или docker контейнер с pm2 и всеми приложениями?

Есть несколько приложений nodejs, как лучше запускать их в production ?

Если запускать контейнер на каждое приложение то главным процессом становится приложение и это поддерживает идею Docker'a. Например в случае краша приложения его перезапустит docker. Все приложения будут изолированы.

Если запускать приложения через pm2 в контейнере то главным процессором становится уже pm2.
  • Вопрос задан
  • 576 просмотров
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
одно приложение - один контейнер. в каждом контейнере - свой pm2
Ответ написан
@wassapman72
pm2 по сути супервизор, одна из функций докера так же по сути супервизор, работать будет и так и так, соблюдать docker way или нет это решение за вами, но не соблюдая вы получаете набор проблем на лонгране, как минимум:
1. в случае перехода к применению инструментов оркестрации вы не сможете применять некоторые фичи или инструмены траблшутинга/мониторинга/масштабирования, а некоторые из них будут работать не корректно.
2. вы нарушаете "стандарт", и любому кто будет работать с вашим решение вместе с вами или после вас нужно будет понять его суть (а так же разобраться в том как именно вы решаете проблемы и почему именно таким способом).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы