Как будет работать приложение на php & nodejs в dockere?
Да.
Можно засунуть все в один контейнер при желании.  Странный вариант, но вполне работоспособный.
Можно держать контейнер с php+apache, а код приложения в папке рядом. Так же с node. 
Не обязательно на разных портах, контейнеры можно вообще не открывать во внешнюю сеть, но тогда понадобится реверс-прокси.  Это для разработки.
Можно сделать новый образ, наследуемый из php+apache и содержащий твое приложение. 
Тогда достаточно будет залить один файл образа на сервер и запустить контейнер на его основе. Это для быстрого деплоя. Но надо будет у себя обновлять контейнер и повторять процедуру.