docker swarm init
Initialize a manager node.
docker swarm init --advertise-addr <PRIVATE_IP>
--advertise-addr is the address other nodes use to reach the API. After init, a join token is printed for adding workers and managers.
docker swarm join
Add a worker or manager node to the cluster.
docker swarm join --token <TOKEN> <PRIVATE_IP>:2377
docker swarm join-token
Retrieve a join token for workers or managers.
docker swarm join-token worker
docker swarm join-token manager
docker swarm leave
Remove the current node from the swarm. Run after the manager removes the node with docker node rm.
docker swarm leave
docker node ls
List nodes in the swarm.
docker node ls
docker node inspect
Display detailed information about a node.
docker node inspect <NODE_ID>
docker node promote / demote
Change a node’s role between worker and manager.
docker node promote <NODE_ID>
docker node demote <NODE_ID>
docker node rm
Remove a node from the swarm.
docker node rm <NODE_ID>
docker service create
Create a service.
docker service create -d --name <NAME> \
-p <HOST_PORT>:<CONTAINER_PORT> \
--replicas <REPLICAS> \
<IMAGE> [CMD]
With a specific network:
docker service create -d --name <NAME> \
--network <NETWORK> \
-p <HOST_PORT>:<CONTAINER_PORT> \
--replicas <REPLICAS> \
<IMAGE> [CMD]
Pass secrets (mounted at /run/secrets/<SECRET>):
docker service create --name <NAME> --secret <SECRET> <IMAGE>
docker service ls / inspect / ps / logs / scale / update
docker service ls
docker service inspect <SERVICE>
docker service ps <SERVICE>
docker service logs <SERVICE>
docker service scale <SERVICE>=<REPLICAS>
docker service update <SERVICE>
docker stack deploy
Deploy a stack from a Compose file.
docker stack deploy --compose-file docker-compose.yml my_stack
docker secret
Secrets work only in Swarm mode.
Create from STDIN:
openssl rand -base64 20 | docker secret create my_secret_data -
Create from a file:
openssl rand -base64 20 > secret.txt
docker secret create my_secret_data2 secret.txt
docker secret ls
docker secret inspect <SECRET>
docker secret rm <SECRET>
docker plugin
Install and manage plugins.
docker plugin install <PLUGIN> [OPTIONS]
docker plugin ls
docker plugin disable <PLUGIN>
docker plugin rm <PLUGIN>
Volume plugin examples: Hedvig, Pure Storage, HPE Nimble Storage, Nutanix DVP, Blockbridge, NexentaStor, StorageOS, open_in_new Rex-Ray .
Andrew Dorokhov