xd.docker.client module¶
Module containing DockerClient and associated exceptions.
-
class
xd.docker.client.DockerClient(host=None)[source]¶ Bases:
objectDocker client.
A DockerClient instance is used to communicate with Docker daemon (or something else that is speaking Docker Remote API).
Parameters: host ( Optional[str]) – URL to Docker daemon socket to connect to.Example: Connect to docker daemon on localhost TCP socket:
>>> docker = DockerClient('tcp://127.0.0.1:2375')
Connect to docker daemon on UNIX domain socket:
>>> docker = DockerClient('unix:///var/run/docker.sock')
-
version()[source]¶ Get Docker Remote API version.
Raises: ServerError– Server error.Return type: Tuple[int,int]Returns: Major/minor version number of Docker daemon (Docker Remote API).
-
containers(only_running=True)[source]¶ Get list of containers.
By default, only running containers are returned.
Keyword Arguments: only_running – List only running containers (if True), or all containers (if False).
Raises: ClientError– Bad parameter.ServerError– Server error.
Return type: List[Container]Returns: List of containers.
-
images()[source]¶ Get list of images.
Images returned does only contain partial information. To obtain detailed information, use
image_inspectorImage.inspecton theImagein question.Raises: ServerError– Server error.Return type: List[Image]Returns: List of images.
-
image_inspect(name)[source]¶ Get image with low-level information.
Get low-level information of a named image. Returns
Imageinstance with the information.Parameters: name ( str) – name of image.Return type: Image
-
image_build(context, output=('error', 'stream', 'status'), dockerfile=None, tag=None, cache=True, pull=None, rm=None, force_rm=None, host_config=None, registry_config=None, buildargs=None)[source]¶ Build an image from a Dockerfile.
Build image from a given context or stand-alone Dockerfile.
Parameters: - context (
str) – path to directory containing build context, or path to a stand-alone Dockerfile. - output – tuple/list of with type of output information to allow (Default: (‘stream’, ‘status’, ‘error’)).
- dockerfile (
Optional[str]) – path to dockerfile in build context. - tag (
Union[Repository,str,None]) – repository name and tag to be applied to the resulting image. - cache (
bool) – use the cache when building the image (default: True). - pull (
Optional[bool]) – attempt to pull the image even if an older image exists locally (default: False). - rm (
Optional[bool]) – False/True. Remove intermediate containers after a successful build (default: True). - force_rm (
Optional[bool]) – False/True. Always remove intermediate containers after build (default: False). - host_config (
Optional[HostConfig]) – HostConfig instance. - registry_config (
Optional[RegistryAuthConfig]) – RegistryAuthConfig instance. - buildargs (
Optional[Dict[str,str]]) – build-time environment variables.
- context (
-
image_pull(name, registry_auth=None, output=('error', 'stream', 'status'))[source]¶ Pull image.
Create an image by pulling it from a registry.
Parameters: - name – name of the image to pull.
- output – tuple/list of with type of output information to allow (Default: (‘stream’, ‘status’, ‘error’)).
-
image_remove(name)[source]¶ Remove an image.
Remove the image name from the filesystem.
Parameters: name – name of the image to remove.
-
image_tag(image, tag=None, force=None)[source]¶ Tag an image.
Add tag to an existing image.
Parameters: - image – image to add tag to.
- tag (
Union[Repository,str,None]) – repository name and optionally tag. - force (
Optional[bool]) – force creation of tag.
-
container_create(config, name=None, mounts=None, host_config=None, pull=True)[source]¶ Create a new container.
Create a new container based on existing image.
Parameters: - config (
ContainerConfig) – ContainerConfig instance. - name (
Union[ContainerName,str,None]) – name to assign to container. - mounts (
Optional[Sequence[VolumeMount]]) – mount points in the container (list of strings). - host_config (
Optional[HostConfig]) – HostConfig instance. - pull (
bool) – Pull image if needed.
- config (
-
container_remove(container, force=None, volumes=None)[source]¶ Remove a container.
Remove a container and (optionally) the associated volumes.
Parameters: - container (
Union[Container,ContainerName,str]) – The container to remove (id or name). - force (
Optional[bool]) – Kill then remove the container. - volumes (
Optional[bool]) – Remove the volumes associated to the container.
- container (
-
container_start(container)[source]¶ Start a container.
Parameters: container ( Union[Container,ContainerName,str]) – The container to start (id or name).Returns: True if container was started. False if container was already started.
-
container_wait(container)[source]¶ Block until container stops.
Block until container stops, then returns the exit code.
Parameters: container ( Union[Container,ContainerName,str]) – The container to remove (id or name).Return type: intReturns: Container exit code.
-
container_stop(container, timeout=None)[source]¶ Stop container.
Stop the container, and optionally killing the container after a timeout.
Parameters: - container (
Union[Container,ContainerName,str]) – The container to remove (id or name). - timeout (
Optional[int]) – Number of seconds to wait before killing the container.
Returns: True if container was stopped. False if container was already stopped.
- container (
-
container_restart(container, timeout=None)[source]¶ Restart container.
Restart the container, and optionally killing the container after a timeout waiting for the container to stop.
Parameters: - container (
Union[Container,ContainerName,str]) – The container to remove (id or name). - timeout (
Optional[int]) – Number of seconds to wait before killing the container.
- container (
-
container_kill(container, signal=None)[source]¶ Kill container.
Send signal to container, and (maybe) wait for the container to exit.
Note: Prior to Docker version 1.8, kill succeeds (without actually doing anything) when run on existing but stopped containers. Docker 1.8 and newer fails out with a ServerError exception.
Parameters: - container (
Union[Container,ContainerName,str]) – The container to remove (id or name). - signal (
Union[int,str,None]) – Signal to send to container.
- container (
-