Docker Swarm is a technique to create and maintain a cluster of Docker Engines. The Docker engines can be hosted on different nodes, and these nodes which are in remote locations form a Cluster when connected in Swarm mode.
Using a Docker Swarm we can achieve high availability of our web application, load balancing, Decentralized access and many such benefits. For a precise understanding of docker swarm and the way to get started with it and for a bit of hands-on on docker swarm, I suggest you have a look at this article. You would definitely find it useful.
For a complete all round idea on containerization with docker do check out these blogs: