A Swarm is a collection of nodes. We can classify a node as a physical computer or Virtual Machine (VM). Physical computers these days are often referred to as bare metal. People say we're running on bare metal to distinguish from running on a VM.
When we install Docker on such a node, we call this node a Docker host. The following diagram illustrates a bit better what a node and what a Docker host is:
To become a member of a Docker Swarm, a node must be a Docker host. A node in a Docker Swarm can have one of two roles. It can be a manager or it can be a worker. Manager nodes do what their name implies; they manage the Swarm. The worker nodes, in turn, execute the application workload.
Technically, a manager node can also be a worker node and hence run application...