Nodes

Get and list nodes in a swarm. Before you can use these methods, you first need to join or initialize a swarm.

Methods available on client.nodes:

class NodeCollection
get(id_or_name)

Get a node.

Parameters:

node_id (string) – ID of the node to be inspected.

Returns:

A Node object.

Raises:

docker.errors.APIError – If the server returns an error.

list(**kwargs)

List swarm nodes.

Parameters:

filters (dict) – Filters to process on the nodes list. Valid filters: id, name, membership and role. Default: None

Returns:

A list of Node objects.

Raises:

docker.errors.APIError – If the server returns an error.

Example

>>> client.nodes.list(filters={'role': 'manager'})

Node objects

class Node

A node in a swarm.

id

The ID of the object.

short_id

The ID of the object, truncated to 12 characters.

attrs

The raw representation of this object from the server.

version

The version number of the service. If this is not the same as the server, the update() function will not work and you will need to call reload() before calling it again.

reload()

Load this object from the server again and update attrs with the new data.

update(node_spec)

Update the node’s configuration.

Parameters:

node_spec (dict) – Configuration settings to update. Any values not provided will be removed. Default: None

Returns:

True if the request went through.

Raises:

docker.errors.APIError – If the server returns an error.

Example

>>> node_spec = {'Availability': 'active',
                 'Name': 'node-name',
                 'Role': 'manager',
                 'Labels': {'foo': 'bar'}
                }
>>> node.update(node_spec)