types.services

Module Contents

Classes

TaskTemplate(self,container_spec,resources=None,restart_policy=None,placement=None,log_driver=None,networks=None,force_update=None) Describe the task specification to be used when creating or updating a
ContainerSpec(self,image,command=None,args=None,hostname=None,env=None,workdir=None,user=None,labels=None,mounts=None,stop_grace_period=None,secrets=None,tty=None,groups=None,open_stdin=None,read_only=None,stop_signal=None,healthcheck=None,hosts=None,dns_config=None,configs=None,privileges=None,isolation=None) Describes the behavior of containers that are part of a task, and is used
Mount(self,target,source,type=”volume”,read_only=False,consistency=None,propagation=None,no_copy=False,labels=None,driver_config=None,tmpfs_size=None,tmpfs_mode=None) Describes a mounted folder’s configuration inside a container. A list of
Resources(self,cpu_limit=None,mem_limit=None,cpu_reservation=None,mem_reservation=None,generic_resources=None) Configures resource allocation for containers when made part of a
UpdateConfig(self,parallelism=0,delay=None,failure_action=”continue”,monitor=None,max_failure_ratio=None,order=None) Used to specify the way container updates should be performed by a service.
RestartConditionTypesEnum()
RestartPolicy(self,condition=None,delay=0,max_attempts=0,window=0) Used when creating a ContainerSpec,
DriverConfig(self,name,options=None) Indicates which driver to use, as well as its configuration. Can be used
EndpointSpec(self,mode=None,ports=None) Describes properties to access and load-balance a service.
ServiceMode(self,mode,replicas=None) Indicate whether a service should be deployed as a replicated or global
SecretReference(self,secret_id,secret_name,filename=None,uid=None,gid=None,mode=292) Secret reference to be used as part of a ContainerSpec.
ConfigReference(self,config_id,config_name,filename=None,uid=None,gid=None,mode=292) Config reference to be used as part of a ContainerSpec.
Placement(self,constraints=None,preferences=None,platforms=None) Placement constraints to be used as part of a TaskTemplate
DNSConfig(self,nameservers=None,search=None,options=None) Specification for DNS related configurations in resolver configuration
Privileges(self,credentialspec_file=None,credentialspec_registry=None,selinux_disable=None,selinux_user=None,selinux_role=None,selinux_type=None,selinux_level=None) Security options for a service’s containers.

Functions

_convert_generic_resources_dict(generic_resources)
convert_service_ports(ports)
class TaskTemplate(container_spec, resources=None, restart_policy=None, placement=None, log_driver=None, networks=None, force_update=None)

Describe the task specification to be used when creating or updating a service.

Args:

container_spec (ContainerSpec): Container settings for containers
started as part of this task.
log_driver (DriverConfig): Log configuration for containers created as
part of the service.
resources (Resources): Resource requirements which apply to each
individual container created as part of the service.
restart_policy (RestartPolicy): Specification for the restart policy
which applies to containers created as part of this service.
placement (Placement): Placement instructions for the scheduler.
If a list is passed instead, it is assumed to be a list of constraints as part of a Placement object.
networks (list): List of network names or IDs to attach
the containers to.
force_update (int): A counter that triggers an update even if no
relevant parameters have been changed.
__init__(container_spec, resources=None, restart_policy=None, placement=None, log_driver=None, networks=None, force_update=None)
container_spec()
resources()
restart_policy()
placement()
class ContainerSpec(image, command=None, args=None, hostname=None, env=None, workdir=None, user=None, labels=None, mounts=None, stop_grace_period=None, secrets=None, tty=None, groups=None, open_stdin=None, read_only=None, stop_signal=None, healthcheck=None, hosts=None, dns_config=None, configs=None, privileges=None, isolation=None)

Describes the behavior of containers that are part of a task, and is used when declaring a TaskTemplate.

Args:

image (string): The image name to use for the container. command (string or list): The command to be run in the image. args (list): Arguments to the command. hostname (string): The hostname to set on the container. env (dict): Environment variables. workdir (string): The working directory for commands to run in. user (string): The user inside the container. labels (dict): A map of labels to associate with the service. mounts (list): A list of specifications for mounts to be

added to containers created as part of the service. See the Mount class for details.
stop_grace_period (int): Amount of time to wait for the container to
terminate before forcefully killing it.
secrets (list): List of SecretReference to be
made available inside the containers.

tty (boolean): Whether a pseudo-TTY should be allocated. groups (list): A list of additional groups that the

container process will run as.

open_stdin (boolean): Open stdin read_only (boolean): Mount the container’s root filesystem as read

only.

stop_signal (string): Set signal to stop the service’s containers healthcheck (Healthcheck): Healthcheck

configuration for this service.
hosts (dict): A set of host to IP mappings to add to
the container’s hosts file.
dns_config (DNSConfig): Specification for DNS
related configurations in resolver configuration file.
configs (list): List of ConfigReference that
will be exposed to the service.

privileges (Privileges): Security options for the service’s containers. isolation (string): Isolation technology used by the service’s

containers. Only used for Windows containers.
__init__(image, command=None, args=None, hostname=None, env=None, workdir=None, user=None, labels=None, mounts=None, stop_grace_period=None, secrets=None, tty=None, groups=None, open_stdin=None, read_only=None, stop_signal=None, healthcheck=None, hosts=None, dns_config=None, configs=None, privileges=None, isolation=None)
class Mount(target, source, type="volume", read_only=False, consistency=None, propagation=None, no_copy=False, labels=None, driver_config=None, tmpfs_size=None, tmpfs_mode=None)

Describes a mounted folder’s configuration inside a container. A list of Mount would be used as part of a ContainerSpec.

Args:

target (string): Container path. source (string): Mount source (e.g. a volume name or a host path). type (string): The mount type (bind / volume / tmpfs /

npipe). Default: volume.

read_only (bool): Whether the mount should be read-only. consistency (string): The consistency requirement for the mount. One of default`, consistent, cached, delegated. propagation (string): A propagation mode with the value [r]private,

[r]shared, or [r]slave. Only valid for the bind type.
no_copy (bool): False if the volume should be populated with the data
from the target. Default: False. Only valid for the volume type.
labels (dict): User-defined name and labels for the volume. Only valid
for the volume type.
driver_config (DriverConfig): Volume driver configuration. Only valid
for the volume type.

tmpfs_size (int or string): The size for the tmpfs mount in bytes. tmpfs_mode (int): The permission mode for the tmpfs mount.

__init__(target, source, type="volume", read_only=False, consistency=None, propagation=None, no_copy=False, labels=None, driver_config=None, tmpfs_size=None, tmpfs_mode=None)
parse_mount_string(string)
class Resources(cpu_limit=None, mem_limit=None, cpu_reservation=None, mem_reservation=None, generic_resources=None)

Configures resource allocation for containers when made part of a ContainerSpec.

Args:

cpu_limit (int): CPU limit in units of 10^9 CPU shares. mem_limit (int): Memory limit in Bytes. cpu_reservation (int): CPU reservation in units of 10^9 CPU shares. mem_reservation (int): Memory reservation in Bytes. generic_resources (dict or list): Node level generic

resources, for example a GPU, using the following format: { resource_name: resource_value }. Alternatively, a list of of resource specifications as defined by the Engine API.
__init__(cpu_limit=None, mem_limit=None, cpu_reservation=None, mem_reservation=None, generic_resources=None)
_convert_generic_resources_dict(generic_resources)
class UpdateConfig(parallelism=0, delay=None, failure_action="continue", monitor=None, max_failure_ratio=None, order=None)

Used to specify the way container updates should be performed by a service.

Args:

parallelism (int): Maximum number of tasks to be updated in one
iteration (0 means unlimited parallelism). Default: 0.

delay (int): Amount of time between updates. failure_action (string): Action to take if an updated task fails to

run, or stops running during the update. Acceptable values are continue and pause. Default: continue
monitor (int): Amount of time to monitor each updated task for
failures, in nanoseconds.
max_failure_ratio (float): The fraction of tasks that may fail during
an update before the failure action is invoked, specified as a floating point number between 0 and 1. Default: 0
order (string): Specifies the order of operations when rolling out an
updated task. Either start_first or stop_first are accepted.
__init__(parallelism=0, delay=None, failure_action="continue", monitor=None, max_failure_ratio=None, order=None)
class RestartConditionTypesEnum
class RestartPolicy(condition=None, delay=0, max_attempts=0, window=0)

Used when creating a ContainerSpec, dictates whether a container should restart after stopping or failing.

Args:

condition (string): Condition for restart (none, on-failure,
or any). Default: none.

delay (int): Delay between restart attempts. Default: 0 max_attempts (int): Maximum attempts to restart a given container

before giving up. Default value is 0, which is ignored.
window (int): Time window used to evaluate the restart policy. Default
value is 0, which is unbounded.
__init__(condition=None, delay=0, max_attempts=0, window=0)
class DriverConfig(name, options=None)

Indicates which driver to use, as well as its configuration. Can be used as log_driver in a ContainerSpec, for the driver_config in a volume Mount, or as the driver object in create_secret().

Args:

name (string): Name of the driver to use. options (dict): Driver-specific options. Default: None.
__init__(name, options=None)
class EndpointSpec(mode=None, ports=None)

Describes properties to access and load-balance a service.

Args:

mode (string): The mode of resolution to use for internal load
balancing between tasks ('vip' or 'dnsrr'). Defaults to 'vip' if not provided.
ports (dict): Exposed ports that this service is accessible on from the
outside, in the form of { published_port: target_port } or { published_port: <port_config_tuple> }. Port config tuple format is (target_port [, protocol [, publish_mode]]). Ports can only be provided if the vip resolution mode is used.
__init__(mode=None, ports=None)
convert_service_ports(ports)
class ServiceMode(mode, replicas=None)

Indicate whether a service should be deployed as a replicated or global service, and associated parameters

Args:
mode (string): Can be either replicated or global replicas (int): Number of replicas. For replicated services only.
__init__(mode, replicas=None)
mode()
replicas()
class SecretReference(secret_id, secret_name, filename=None, uid=None, gid=None, mode=292)

Secret reference to be used as part of a ContainerSpec. Describes how a secret is made accessible inside the service’s containers.

Args:

secret_id (string): Secret’s ID secret_name (string): Secret’s name as defined at its creation. filename (string): Name of the file containing the secret. Defaults

to the secret’s name if not specified.

uid (string): UID of the secret file’s owner. Default: 0 gid (string): GID of the secret file’s group. Default: 0 mode (int): File access mode inside the container. Default: 0o444

__init__(secret_id, secret_name, filename=None, uid=None, gid=None, mode=292)
class ConfigReference(config_id, config_name, filename=None, uid=None, gid=None, mode=292)

Config reference to be used as part of a ContainerSpec. Describes how a config is made accessible inside the service’s containers.

Args:

config_id (string): Config’s ID config_name (string): Config’s name as defined at its creation. filename (string): Name of the file containing the config. Defaults

to the config’s name if not specified.

uid (string): UID of the config file’s owner. Default: 0 gid (string): GID of the config file’s group. Default: 0 mode (int): File access mode inside the container. Default: 0o444

__init__(config_id, config_name, filename=None, uid=None, gid=None, mode=292)
class Placement(constraints=None, preferences=None, platforms=None)

Placement constraints to be used as part of a TaskTemplate

Args:

constraints (list): A list of constraints preferences (list): Preferences provide a way to make

the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence.
platforms (list): A list of platforms expressed as
(arch, os) tuples
__init__(constraints=None, preferences=None, platforms=None)
class DNSConfig(nameservers=None, search=None, options=None)

Specification for DNS related configurations in resolver configuration file (resolv.conf). Part of a ContainerSpec definition.

Args:
nameservers (list): The IP addresses of the name
servers.

search (list): A search list for host-name lookup. options (list): A list of internal resolver variables

to be modified (e.g., debug, ndots:3, etc.).
__init__(nameservers=None, search=None, options=None)
class Privileges(credentialspec_file=None, credentialspec_registry=None, selinux_disable=None, selinux_user=None, selinux_role=None, selinux_type=None, selinux_level=None)

Security options for a service’s containers. Part of a ContainerSpec definition.

Args:
credentialspec_file (str): Load credential spec from this file.
The file is read by the daemon, and must be present in the CredentialSpecs subdirectory in the docker data directory, which defaults to C:\ProgramData\Docker\ on Windows. Can not be combined with credentialspec_registry.
credentialspec_registry (str): Load credential spec from this value
in the Windows registry. The specified registry value must be located in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion \Virtualization\Containers\CredentialSpecs. Can not be combined with credentialspec_file.

selinux_disable (boolean): Disable SELinux selinux_user (string): SELinux user label selinux_role (string): SELinux role label selinux_type (string): SELinux type label selinux_level (string): SELinux level label

__init__(credentialspec_file=None, credentialspec_registry=None, selinux_disable=None, selinux_user=None, selinux_role=None, selinux_type=None, selinux_level=None)