Route traffic to a docker container based on subdomain

Adam Jimenez picture Adam Jimenez · Jul 2, 2014 · Viewed 26k times · Source

I have wildcard dns pointed to my server e.g. *.domain.com

I'd like to route each subdomain to it's own docker container. So that box1.domain.com goes to the appropriate docker container. This should work for any traffic primarily HTTP and SSH.

Or perhaps the port can be part of the subdomain e.g. 80.box1.domain.com. I will have lots of docker containers so the solution should be dynamic not hard-coded for every container.

Answer

Florian Lopes picture Florian Lopes · Apr 5, 2016

Another solution would be to use https://github.com/jwilder/nginx-proxy.

This tool automatically forwards requests to the appropriate container (based on subdomain via the VIRTUAL_HOST container environment variable).

For instance, if you want to redirect box1.domain.com to a container, simply set the VIRTUAL_HOST container environment variable to "box1.domain.com".

Here is a detailed tutorial I wrote about it: http://blog.florianlopes.io/host-multiple-websites-on-single-host-docker.