Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Assign domain name to the container

Tags:

docker

I am looking for a way to assign a domain name to the container when it is started. For example, I want to start a web server container, and to be able to access web pages via domain name. Is there an easy way to do this ?

like image 755
Zed Avatar asked Jun 11 '15 21:06

Zed


1 Answers

For all I know, Docker doesn't provide this feature out of the box. But surely there are several workarounds here. In fact you need to deploy a DNS on your host that will distinguish the containers and resolve their domain names in dynamical IPs. So you could give a try to:

  1. Deploy some of Docker-aware DNS solutions (I suggest you to use SkyDNSv1/SkyDock);
  2. Configure your host to work with this DNS (by default SkyDNS makes the containers know each other by name, but the host is not aware of it);
  3. Run your containers with explicit --hostname (you will probably use scheme container_name.image_name.dev.skydns.local).

You can skip step #2 and run your browser inside container too: it will discover the web application container by hostname.

like image 76
Vitaly Isaev Avatar answered Oct 19 '22 14:10

Vitaly Isaev