Каждое приложение можно запускать в отдельном приложении, а можно и в одном, дело вкуса. Проблема в том, что все приложения хотят 80/443 порт.
Что бы решить эту проблему, можно запустить один контейнер с nginx и настроить его как обратный прокси, т.е. он займет порты и будет раскидывать запросы по контейнерам на основе адреса хоста.
Могу для этого порекомендовать уже готовый образ
https://github.com/jwilder/nginx-proxy