summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2016-11-23 15:15:58 -0800
committerJoffrey F <joffrey@docker.com>2016-11-28 15:28:04 -0800
commitf5ac10c469fca252e69ae780749f4ec6fe369789 (patch)
treeedd59b15fb03c7ce68187fbd8a41dd00f0d19537 /docs
parentc66c7f8b0a8ca216e21c9fe1903eb79f4406a93e (diff)
downloaddocker-py-docker_client.tar.gz
Rename Client -> DockerClientdocker_client
Replace references to old Client with APIClient Moved contents of services.md to appropriate locations Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/client.rst4
-rw-r--r--docs/services.md268
-rw-r--r--docs/tls.rst6
-rw-r--r--docs/user_guides/swarm_services.md65
4 files changed, 70 insertions, 273 deletions
diff --git a/docs/client.rst b/docs/client.rst
index cd058fc..63bce2c 100644
--- a/docs/client.rst
+++ b/docs/client.rst
@@ -6,14 +6,14 @@ Client
Creating a client
-----------------
-To communicate with the Docker daemon, you first need to instantiate a client. The easiest way to do that is by calling the function :py:func:`~docker.client.from_env`. It can also be configured manually by instantiating a :py:class:`~docker.client.Client` class.
+To communicate with the Docker daemon, you first need to instantiate a client. The easiest way to do that is by calling the function :py:func:`~docker.client.from_env`. It can also be configured manually by instantiating a :py:class:`~docker.client.DockerClient` class.
.. autofunction:: from_env()
Client reference
----------------
-.. autoclass:: Client()
+.. autoclass:: DockerClient()
.. autoattribute:: containers
.. autoattribute:: images
diff --git a/docs/services.md b/docs/services.md
deleted file mode 100644
index 69e0649..0000000
--- a/docs/services.md
+++ /dev/null
@@ -1,268 +0,0 @@
-# Swarm services
-
-Starting with Engine version 1.12 (API 1.24), it is possible to manage services
-using the Docker Engine API. Note that the engine needs to be part of a
-[Swarm cluster](swarm.md) before you can use the service-related methods.
-
-## Creating a service
-
-The `Client.create_service` method lets you create a new service inside the
-cluster. The method takes several arguments, `task_template` being mandatory.
-This dictionary of values is most easily produced by instantiating a
-`TaskTemplate` object.
-
-```python
-container_spec = docker.types.ContainerSpec(
- image='busybox', command=['echo', 'hello']
-)
-task_tmpl = docker.types.TaskTemplate(container_spec)
-service_id = client.create_service(task_tmpl, name=name)
-```
-
-## Listing services
-
-List all existing services using the `Client.services` method.
-
-```python
-client.services(filters={'name': 'mysql'})
-```
-
-## Retrieving service configuration
-
-To retrieve detailed information and configuration for a specific service, you
-may use the `Client.inspect_service` method using the service's ID or name.
-
-```python
-client.inspect_service(service='my_service_name')
-```
-
-## Updating service configuration
-
-The `Client.update_service` method lets you update a service's configuration.
-The mandatory `version` argument (used to prevent concurrent writes) can be
-retrieved using `Client.inspect_service`.
-
-```python
-container_spec = docker.types.ContainerSpec(
- image='busybox', command=['echo', 'hello world']
-)
-task_tmpl = docker.types.TaskTemplate(container_spec)
-
-svc_version = client.inspect_service(svc_id)['Version']['Index']
-
-client.update_service(
- svc_id, svc_version, name='new_name', task_template=task_tmpl
-)
-```
-
-## Removing a service
-
-A service may be removed simply using the `Client.remove_service` method.
-Either the service name or service ID can be used as argument.
-
-```python
-client.remove_service('my_service_name')
-```
-
-## Service API documentation
-
-### Client.create_service
-
-Create a service.
-
-**Params:**
-
-* task_template (dict): Specification of the task to start as part of the new
- service. See the [TaskTemplate class](#TaskTemplate) for details.
-* name (string): User-defined name for the service. Optional.
-* labels (dict): A map of labels to associate with the service. Optional.
-* mode (string): Scheduling mode for the service (`replicated` or `global`).
- Defaults to `replicated`.
-* update_config (dict): Specification for the update strategy of the service.
- See the [UpdateConfig class](#UpdateConfig) for details. Default: `None`.
-* networks (list): List of network names or IDs to attach the service to.
- Default: `None`.
-* endpoint_spec (dict): Properties that can be configured to access and load
- balance a service. Default: `None`.
-
-**Returns:** A dictionary containing an `ID` key for the newly created service.
-
-### Client.inspect_service
-
-Return information on a service.
-
-**Params:**
-
-* service (string): A service identifier (either its name or service ID)
-
-**Returns:** `True` if successful. Raises an `APIError` otherwise.
-
-### Client.remove_service
-
-Stop and remove a service.
-
-**Params:**
-
-* service (string): A service identifier (either its name or service ID)
-
-**Returns:** `True` if successful. Raises an `APIError` otherwise.
-
-### Client.services
-
-List services.
-
-**Params:**
-
-* filters (dict): Filters to process on the nodes list. Valid filters:
- `id` and `name`. Default: `None`.
-
-**Returns:** A list of dictionaries containing data about each service.
-
-### Client.update_service
-
-Update a service.
-
-**Params:**
-
-* service (string): A service identifier (either its name or service ID).
-* version (int): The version number of the service object being updated. This
- is required to avoid conflicting writes.
-* task_template (dict): Specification of the updated task to start as part of
- the service. See the [TaskTemplate class](#TaskTemplate) for details.
-* name (string): New name for the service. Optional.
-* labels (dict): A map of labels to associate with the service. Optional.
-* mode (string): Scheduling mode for the service (`replicated` or `global`).
- Defaults to `replicated`.
-* update_config (dict): Specification for the update strategy of the service.
- See the [UpdateConfig class](#UpdateConfig) for details. Default: `None`.
-* networks (list): List of network names or IDs to attach the service to.
- Default: `None`.
-* endpoint_spec (dict): Properties that can be configured to access and load
- balance a service. Default: `None`.
-
-**Returns:** `True` if successful. Raises an `APIError` otherwise.
-
-### Configuration objects (`docker.types`)
-
-#### ContainerSpec
-
-A `ContainerSpec` object describes the behavior of containers that are part
-of a task, and is used when declaring a `TaskTemplate`.
-
-**Params:**
-
-* 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.
-* env (dict): Environment variables.
-* dir (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](#Mount) for details.
-* stop_grace_period (int): Amount of time to wait for the container to
- terminate before forcefully killing it.
-
-#### DriverConfig
-
-A `LogDriver` object indicates which driver to use, as well as its
-configuration. It can be used for the `log_driver` in a `ContainerSpec`,
-and for the `driver_config` in a volume `Mount`.
-
-**Params:**
-
-* name (string): Name of the logging driver to use.
-* options (dict): Driver-specific options. Default: `None`.
-
-#### EndpointSpec
-
-An `EndpointSpec` object describes properties to access and load-balance a
-service.
-
-**Params:**
-
-* 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 `{ target_port: published_port }` or
- `{ target_port: (published_port, protocol) }`. Ports can only be provided if
- the `vip` resolution mode is used.
-
-#### Mount
-
-A `Mount` object describes a mounted folder's configuration inside a
-container. A list of `Mount`s would be used as part of a `ContainerSpec`.
-
-* target (string): Container path.
-* source (string): Mount source (e.g. a volume name or a host path).
-* type (string): The mount type (`bind` or `volume`). Default: `volume`.
-* read_only (bool): Whether the mount should be read-only.
-* 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 (dict): Volume driver configuration.
- See the [DriverConfig class](#DriverConfig) for details. Only valid for the
- `volume` type.
-
-#### Resources
-
-A `Resources` object configures resource allocation for containers when
-made part of a `ContainerSpec`.
-
-**Params:**
-
-* 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.
-
-#### RestartPolicy
-
-A `RestartPolicy` object is used when creating a `ContainerSpec`. It dictates
-whether a container should restart after stopping or failing.
-
-* condition (string): Condition for restart (`none`, `on-failure`, or `any`).
- Default: `none`.
-* delay (int): Delay between restart attempts. Default: 0
-* 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.
-
-
-#### TaskTemplate
-
-A `TaskTemplate` object can be used to describe the task specification to be
-used when creating or updating a service.
-
-**Params:**
-
-* container_spec (dict): Container settings for containers started as part of
- this task. See the [ContainerSpec class](#ContainerSpec) for details.
-* log_driver (dict): Log configuration for containers created as part of the
- service. See the [DriverConfig class](#DriverConfig) for details.
-* resources (dict): Resource requirements which apply to each individual
- container created as part of the service. See the
- [Resources class](#Resources) for details.
-* restart_policy (dict): Specification for the restart policy which applies
- to containers created as part of this service. See the
- [RestartPolicy class](#RestartPolicy) for details.
-* placement (list): A list of constraints.
-
-
-#### UpdateConfig
-
-An `UpdateConfig` object can be used to specify the way container updates
-should be performed by a service.
-
-**Params:**
-
-* 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`
diff --git a/docs/tls.rst b/docs/tls.rst
index 0f318ff..2e2f1ea 100644
--- a/docs/tls.rst
+++ b/docs/tls.rst
@@ -3,7 +3,7 @@ Using TLS
.. py:module:: docker.tls
-Both the main :py:class:`~docker.client.Client` and low-level
+Both the main :py:class:`~docker.client.DockerClient` and low-level
:py:class:`~docker.api.client.APIClient` can connect to the Docker daemon with TLS.
This is all configured automatically for you if you're using :py:func:`~docker.client.from_env`, but if you need some extra control it is possible to configure it manually by using a :py:class:`TLSConfig` object.
@@ -16,7 +16,7 @@ For example, to check the server against a specific CA certificate:
.. code-block:: python
tls_config = docker.tls.TLSConfig(ca_cert='/path/to/ca.pem')
- client = docker.Client(base_url='<https_url>', tls=tls_config)
+ client = docker.DockerClient(base_url='<https_url>', tls=tls_config)
This is the equivalent of ``docker --tlsverify --tlscacert /path/to/ca.pem ...``.
@@ -27,7 +27,7 @@ To authenticate with client certs:
tls_config = docker.tls.TLSConfig(
client_cert=('/path/to/client-cert.pem', '/path/to/client-key.pem')
)
- client = docker.Client(base_url='<https_url>', tls=tls_config)
+ client = docker.DockerClient(base_url='<https_url>', tls=tls_config)
This is the equivalent of ``docker --tls --tlscert /path/to/client-cert.pem --tlskey /path/to/client-key.pem ...``.
diff --git a/docs/user_guides/swarm_services.md b/docs/user_guides/swarm_services.md
new file mode 100644
index 0000000..9bd4dca
--- /dev/null
+++ b/docs/user_guides/swarm_services.md
@@ -0,0 +1,65 @@
+# Swarm services
+
+Starting with Engine version 1.12 (API 1.24), it is possible to manage services
+using the Docker Engine API. Note that the engine needs to be part of a
+[Swarm cluster](../swarm.rst) before you can use the service-related methods.
+
+## Creating a service
+
+The `APIClient.create_service` method lets you create a new service inside the
+cluster. The method takes several arguments, `task_template` being mandatory.
+This dictionary of values is most easily produced by instantiating a
+`TaskTemplate` object.
+
+```python
+container_spec = docker.types.ContainerSpec(
+ image='busybox', command=['echo', 'hello']
+)
+task_tmpl = docker.types.TaskTemplate(container_spec)
+service_id = client.create_service(task_tmpl, name=name)
+```
+
+## Listing services
+
+List all existing services using the `APIClient.services` method.
+
+```python
+client.services(filters={'name': 'mysql'})
+```
+
+## Retrieving service configuration
+
+To retrieve detailed information and configuration for a specific service, you
+may use the `APIClient.inspect_service` method using the service's ID or name.
+
+```python
+client.inspect_service(service='my_service_name')
+```
+
+## Updating service configuration
+
+The `APIClient.update_service` method lets you update a service's configuration.
+The mandatory `version` argument (used to prevent concurrent writes) can be
+retrieved using `APIClient.inspect_service`.
+
+```python
+container_spec = docker.types.ContainerSpec(
+ image='busybox', command=['echo', 'hello world']
+)
+task_tmpl = docker.types.TaskTemplate(container_spec)
+
+svc_version = client.inspect_service(svc_id)['Version']['Index']
+
+client.update_service(
+ svc_id, svc_version, name='new_name', task_template=task_tmpl
+)
+```
+
+## Removing a service
+
+A service may be removed simply using the `APIClient.remove_service` method.
+Either the service name or service ID can be used as argument.
+
+```python
+client.remove_service('my_service_name')
+``` \ No newline at end of file