Question

Docker multiple domains e.g. app1 = app1.domain.com app2 = app2.domain.com

Posted January 11, 2015 12.6k views

Hello, is it possible to run different containers with different Domains?

For example:
container 1 has an application with port 123456 running
and the container should only reachable on app1.domain.com

and container 2 has the same application (with port 123456) but should only reachable with app2.domain.com

yours sincerely
lassdas

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

You can achieve that by running a reverse proxy server (such as nginx) in front of the applications.

First, install nginx on your droplet that is hosting the containers:

sudo apt-get update
sudo apt-get install nginx

Then, for each application, create a server block:

sudo nano /etc/nginx/sites-available/app1.domain.com

and insert the following into the file (replace app1.domain.com and 2368 as needed):

server {
    listen 80;
    server_name app1.domain.com;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
    }
}

Enable the server block:

sudo ln -s /etc/nginx/sites-available/app1.domain.com /etc/nginx/sites-enabled/

Once you have done that for all applications, restart nginx:

sudo service nginx restart
Submit an Answer