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.
https://www.edureka.co/blog/docker-swarm-cluster-of-docker-engines-for-high-availability
For a complete all round idea on containerization with docker do check out these blogs:
https://www.edureka.co/blog/docker-container/
https://www.edureka.co/blog/docker-compose-containerizing-mean-stack-application/
Happy Learning!