Swarm: A Docker-native clustering system

Estimated reading time: 1 minute

The swarm command runs a Swarm container on a Docker Engine host and performs the task specified by the required subcommand, COMMAND.

Use swarm with the following syntax:

$ docker run swarm [OPTIONS] COMMAND [arg...]

For example, you use swarm with the manage subcommand to create a Swarm manager in a high-availability cluster with other managers:

$ docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise consul://


The swarm command has the following options:

  • --debug — Enable debug mode. Display messages that you can use to debug a Swarm node. For example: time=”2016-02-17T17:57:40Z” level=fatal msg=”discovery required to join a cluster. See ‘swarm join –help’.” The environment variable for this option is [$DEBUG].
  • --log-level "<value>" or -l "<value>" — Set the log level. Where <value> is: debug, info, warn, error, fatal, or panic. The default value is info.
  • --experimental — Enable experimental features.
  • --help or -h — Display help.
  • --version or -v — Display the version. For example: $ docker run swarm –version swarm version 1.1.0 (a0fd82b)


The swarm command has the following subcommands:

  • create, c - Create a discovery token
  • list, l - List the nodes in a Docker cluster
  • manage, m - Create a Swarm manager
  • join, j - Create a Swarm node
  • help - Display a list of Swarm commands, or help for one command
chat icon Feedback? Suggestions? Can't find something in the docs?
Edit this page Request docs changes Get support
Rate this page: