Skip to content

Instantly share code, notes, and snippets.

@lcruz
Created March 11, 2019 10:34
Show Gist options
  • Save lcruz/9526947eae5019d412e9412e78027222 to your computer and use it in GitHub Desktop.
Save lcruz/9526947eae5019d412e9412e78027222 to your computer and use it in GitHub Desktop.

CLI Commands

Cluster Management

docker swarm init --advertise-addr <ip>   # Set up master
docker swarm init --force-new-cluster -advertise-addr <ip>   # Force manager on broken cluster

docker swarm join-token worker            # Get token to join workers
docker swarm join-token manager           # Get token to join new manager

docker swarm join <server> worker         # Join host as a worker

docker swarm leave

docker swarm unlock                       # Unlock a manager host after docker 
                                          # daemon restart when autolock is on
                                          
docker swarm unlock-key                   # Print key needed for 'unlock'

docker node ls                            # Print swarm node list
docker node rm <node id>
docker node inspect --pretty <node id>

docker node promote <node id>             # Promote node to manager
docker node demote <node id>

Rebalancing

Forced rebalance (dangerous)

for svc in $(docker service ls -q) ; do docker service update $svc --force ; done

Draining a node

docker node update --availability drain <node id>

Undrain

docker node update --availability active <node id>

Managing Services

docker stack ls
docker stack rm <name>

docker service create <image>
docker service create --name <name> --replicas <number of replicas> <image>
docker service scale <name>=<number of replicas>
docker service rm <service id|name>
docker service ls                                                    # list all services
docker service ps <service id|name>                                  # list all tasks for given service (includes shutdown/failed)
docker service ps --filter desired-state=running <service id|name>   # list running (acitve) tasks for given service

docker service logs --follow <service id|name>                       # print console log of a service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment