docker node update

Update a node

Swarm This command works with the Swarm orchestrator.


$ docker node update [OPTIONS] NODE

Refer to the options section for an overview of available OPTIONS for this command.


Update metadata about a node, such as its availability, labels, or roles.


This is a cluster management command, and must be executed on a swarm manager node. To learn about managers and workers, refer to the Swarm mode section in the documentation.

For example uses of this command, refer to the examples section below.


Name, shorthand Default Description
--availability Availability of the node (active, pause, drain)
--label-add Add or update a node label (key=value)
--label-rm Remove a node label if exists
--role Role of the node (worker, manager)


Add label metadata to a node (--label-add)

Add metadata to a swarm node using node labels. You can specify a node label as a key with an empty value:

$ docker node update --label-add foo worker1

To add multiple labels to a node, pass the --label-add flag for each label:

$ docker node update --label-add foo --label-add bar worker1

When you create a service, you can use node labels as a constraint. A constraint limits the nodes where the scheduler deploys tasks for a service.

For example, to add a type label to identify nodes where the scheduler should deploy message queue service tasks:

$ docker node update --label-add type=queue worker1

The labels you set for nodes using docker node update apply only to the node entity within the swarm. Do not confuse them with the docker daemon labels for dockerd.

For more information about labels, refer to apply custom metadata.

Parent command

Command Description
docker node Manage Swarm nodes
Command Description
docker node demote Demote one or more nodes from manager in the swarm
docker node inspect Display detailed information on one or more nodes
docker node ls List nodes in the swarm
docker node promote Promote one or more nodes to manager in the swarm
docker node ps List tasks running on one or more nodes, defaults to current node
docker node rm Remove one or more nodes from the swarm
docker node update Update a node