Docker Swarm allows multiple Docker engines to be clustered together as a single virtual machine. It exposes a standard Docker API and makes clustering easy. Key features include declarative service models, scaling, load balancing, service discovery, and rolling updates. Services in Swarm are made up of tasks and containers that are scheduled across nodes by the cluster manager. Deploying a service or stack to Swarm can be done with the docker service and docker stack commands.