Assigning domains in Docker

Hello,
I am starting to move to Docker, I know how to create containers and even Dockerfiles. But the issue I am having now is assigning a subdomain to each different container. For example:
example.com -> container1
gitlab.example.com -> container2
And all containers will be facing the web with port 433, maybe behind some proxy for caching, etc.
Do I need to make a container for Nginx or something similar, if so, how can something like that can be created.
I am aware that Sponge is using Docker and Varnish for caching and Fastly for CDN. I need something simple. This is the only thing that is confusing me in Docker, everything else seems straightforward and easy. I searched the internet about this and found a hacky solution (which worked) but it was not reliable to launch a container with a long very string of argument each time.
Edit: After hours of intense research, I found the most practical solution is this Automated nginx proxy (which I think is what I used before) or Dokku if I am extreme. If you have any better solution, post below!

1 Like

either proxy or multiple ips, if you want to use the same port.