Consul is my key-store and I’ve got an nginx instance running that is accessible over the overlay network as “web”. How do I route external requests to the swarm: i.e. dev.example.com to “web” internal?
If you use “docker service create” the swarm-listener will automatically update an HAproxy container with the external DNS to internal container name mapping.
You have to launch the container with a couple of --label entries.
Here’s a video how I use it. Perhaps it will help you.