We’ve been using docker for a while, but in a “common build environment” capacity. Deploying network accessible services and especially using using Rancher to do so is a bit new for us.
Using Rancher, I am trying to deploy Rundeck as a docker container before starting to deploy our own internally developed applications. I’m using https://hub.docker.com/r/jordan/rundeck/ for the image as it seems to be a widely used one.
It’s looking for a “SERVER_URL” environment variable (I assume for internal redirection purposes, but whatever). 1) I guess it would be ok to simply give it the hosts IP, but is there a way to dynamically reference that? After all, the image might not necessarily always be deployed on the same host under Docker, right? If I did externalize the data and configuration so that I COULD run the image on different hosts, is there a way to make sure that the same domain name was applied to it no matter where it was deployed?
You could use an external DNS service (like Route53) that would create FQDN records for your service that could be used to reference your service.
Here’s the docs on how Route53 a catalog entry works. There are also many other DNS providers that are available through the catalog, that were contributed by the community.
Thank you, I’ll look into that.
On all of our host, we are using an nginx-proxy container (jwilder/nginx-proxy) to provide access to our containers.
This allows you to start the containers with environment variables for nginx-proxy to pick up.
So we set
When the containers are started, docker-gen in nginx-proxy picks this up and generates the necessary config files for the URl to be available.
This also works nicely with SSL - either with manual cert installation, or using letsencrypt to generate SSL certificates when needed.
I realize that this is an old post, but I am struggling to do the exact same thing. But I want to use an external RDS database. Were you able to get yours working properly, and if so can you share how you did it?