Let's assume I have a server running multiple Dockerized websites - I realise that I can configure a reverse proxy (such as Nginx or Apache) to examine the headers of incoming HTTP requests, and send them through to different local ports, if I run each Dockerized website on a different local port number - thereby hosting several [smaller] websites on one host.
However, the configuration of this arrangement feels rather manual - I have to keep track of port numbers, and ensure the docker instances are running correctly.
It occurs to me that a great [theoretical] solution would be what Phusion Passenger does for web applications, such as those based on Ruby on Rails.
Passenger, as I understand it, sees an incoming request, checks to see if that application is running, and if so, sends the request through to that application - and if it's not running, it fires up an instance. (It also allows you to - configurably - shut down sites that haven't been used for some time.) It manages the transport between Nginx/Apache and the application servers, so there is no manual keeping track of port numbers.
So my question is: is there a solution that does what Phusion Passenger does, but for multiple Dockerised web applications - i.e. starts/stops them automatically, and manages connections from host name to appropriate docker instance without requiring a manual keeping track of port numbers?
Or ... am I coming at this problem entirely the wrong way, and is there a much better of running multiple Dockerised websites on one host?
Many thanks for any input.