How to do Failover / Load balancing with Swarm


we are using docker since 1 1/2 Year with “single Host” Setups without trouble. But now we want to go further and use the Docker Swarm (latest version).

Our old setup was just, single hosts with nginx as Reverse Proxys and some magic to update the configs and request SSL certificates for new services.

What i do not understand: How to setup Failover/HA with Docker Swarm

For example:

3 VMs all acting as Master + Worker (i know not the perfect setup, but we have to save money).

Now let’s say GoDaddy with a Domain like, this domain has to be set to one external IP, i would
choose on of the Swarms VMs external IPs and it should work.

But what happens when the VM linked to the Domain goes down? How to handle this scenario with Docker? Or does i need 2 more VMs with HAProxy and some VIPs facing outside?

Would love to have some inspirations from you experts (sorry for my spelling, not my mother tounge…)