In kubernetes we got this replication controller which takes care of maintaining specified number of pods running in a given cluster. What is equivalent in docker-swarm world, do we have any? There is container restart option, does it work if one machine in the cluster goes down.
In Swarm the rescheduling of containers is supported as a stable feature since v1.2.0, before that containers would only restart on the same host, and disappear if the host was terminated.
There is no building block similar to replication controllers, but if you manage your containers using Docker Compose you can scale your services from the CLI. E.g. docker-compose scale web=3
. That's as close as you can get I'm afraid.