Docker Swarm allows you to create a cluster of Docker hosts that acts as a single virtual Docker host. It provides native clustering for Docker and allows you to create and access a pool of Docker hosts. The key components of Docker Swarm include the resource manager, scheduler, discovery service, APIs, and store. The resource manager places containers based on available resources, while the scheduler proposes container placement using binpacking or random strategies.