Point domain to docker container or service

I need to point domain to container
example -
app.mydomain.com — > container - internal-ip

I there any method to do that.

@Dewmal_Handapangoda you can achieve that via Rancher External Service. Steps:

  1. Create External service app.mydomain.com, specify ip=your internal-ip
  2. Create regular service foo, link it to Service app.mydomain.com. Now you can resolve app.mydomain.com internal-ip from service foo container.

thanks,
And how should i config app.mydomain.com dns for access docker container via that method.

Just to clarify - app.mydomain.com is the public domain name and you want to point it to the standalone container registered in Rancher? If yes, I might have made an incorrect assumption that app.mydomain.com is internal to Rancher, and the approach I’ve described, would work for DNS resolution inside Rancher managed network only.

There is currently no Rancher native integration with public DNS, but we are planning to add it soon:

To workaround this limitation today, you would just have to point app.mydomain.com on your public DNS, to the host ip address where your container runs (assuming its ports are published to the host and accessible to public access). So the traffic flow will be: user hits app.mydomain.com, your DNS resolves it to rancher host, then on the host it will get forwarded to your container.

Ok thanks. i will choose another method like port forwarding until you update version with that part.

Hi Alena,

To be sure I understand, right now is it no possible to find dynamically (via an a DNS lookup for example) form outside of Rancher on which host a service like a Load Balancer is available (I.E. has been deployed by Rancher) ?

Our methodology is to proxy the exposed Rancher load balancer for our application via two external load balancers.

e.g.

public --> external load balancer --> rancher host(s) {exposed load balancer service ports} --> containerized apps.

I would love to add multiple IP addresses on the Rancher hosts, so that I could bind specific services to these public IPs, rather than just ports on each Rancher host. That’d be a long-term goal, and I suspect there’s likely a feature request or long-term issue out there for that feature? (I haven’t checked yet)

@Bastien_Vigneron That is correct. @ernstae There is no feature request for what you’re looking for. Do you want to open one up in our Github repo?

One very cool feature could be a “rancher dynamic DNS” that we could be access from one or multiples host(s) IP with standard DNS protocol.
Then it could be easy to delegate such a “ranche zone” (in a DNS perspective, something like *.rancherservices.mysupercompany.com) to this rancher DNS server(s) and include it in enterprise DNS system. The “rancher DNS” servers act as masters for this zone.

With a relatively low TTL (10 seconds to 5 minutes), externals services (like public load balancers) could then dynamically “discover” rancher services.

1 Like

@ernstae I’m new to rancher, can you give an example of how to do this?

@Buishi - What, specifically are you looking for help doing? Sorry for not getting back to you sooner… but it’s been a busy month.

Public DNS integration (starting with Route53) is coming in the next release via a catalog template of external-dns you can deploy.

@ernstae @vincent Thanks for the update.

Hi all,
Well Route53 DNS is pretty cool but there’s one big problem:
When there’s a Private Rancher Host IP which is behind a firewall and a NAT from the Internet to the private IP is configured.
In Route53 I only see the private Host IP’s but how can we do a dynamic integration of the DNS with the external used public IP?

Since we don’t have routeable public IPv4 networks on every site we need the config above.
A solution could be to use IPv6 but even this is not available from every provider yet.

A mechanism to specify an external mapped IP too would be great!

@ApolloDS here is the github ticket tracking this issue:

https://github.com/rancher/rancher/issues/2588

Great!
Thank you Alena.