Docker контейнер для каждого приложения или docker контейнер с pm2 и всеми приложениями?
одно приложение - один контейнер. в каждом контейнере - свой pm2
pm2 по сути супервизор, одна из функций докера так же по сути супервизор, работать будет и так и так, соблюдать docker way или нет это решение за вами, но не соблюдая вы получаете набор проблем на лонгране, как минимум:
1. в случае перехода к применению инструментов оркестрации вы не сможете применять некоторые фичи или инструмены траблшутинга/мониторинга/масштабирования, а некоторые из них будут работать не корректно.
2. вы нарушаете "стандарт", и любому кто будет работать с вашим решение вместе с вами или после вас нужно будет понять его суть (а так же разобраться в том как именно вы решаете проблемы и почему именно таким способом).