客户端

创建客户端

要与Docker守护进程通信,您首先需要实例化一个客户端。要做到这一点,最简单的方法是调用函数 from_env() 。也可以通过实例化 DockerClient 班级。

from_env()

返回从环境变量配置的客户端。

使用的环境变量与Docker命令行客户端使用的环境变量相同。它们是:

DOCKER_HOST

指向Docker主机的URL。

DOCKER_TLS_VERIFY

根据CA证书验证主机。

DOCKER_CERT_PATH

连接到Docker主机时要使用的包含TLS证书的目录的路径。

参数:
  • version (str) -- 要使用的API的版本。设为 auto 自动检测服务器的版本。默认: auto

  • timeout (int) -- API调用的默认超时时间,单位为秒。

  • max_pool_size (int) -- 要保存在池中的最大连接数。

  • environment (dict) -- 要从中读取环境变量的环境。默认值:的值 os.environ

  • credstore_env (dict) -- 调用凭据存储进程时覆盖环境变量。

  • use_ssh_client (bool) -- 如果设置为 True ,通过向ssh客户端发出命令来建立ssh连接。确保在主机上安装并配置了ssh客户端。

示例

>>> import docker
>>> client = docker.from_env()

客户参考

class DockerClient

用于与Docker服务器通信的客户端。

示例

>>> import docker
>>> client = docker.DockerClient(base_url='unix://var/run/docker.sock')
参数:
  • base_url (str) -- 指向Docker服务器的URL。例如, unix:///var/run/docker.socktcp://127.0.0.1:1234

  • version (str) -- 要使用的API的版本。设为 auto 自动检测服务器的版本。默认: 1.35

  • timeout (int) -- API调用的默认超时时间,单位为秒。

  • tls (bool or TLSConfig) -- 启用TLS。经过 True 使用默认选项启用它,或将 TLSConfig 对象以使用自定义配置。

  • user_agent (str) -- 为对服务器的请求设置自定义用户代理。

  • credstore_env (dict) -- 调用凭据存储进程时覆盖环境变量。

  • use_ssh_client (bool) -- 如果设置为 True ,通过向ssh客户端发出命令来建立ssh连接。确保在主机上安装并配置了ssh客户端。

  • max_pool_size (int) -- 要保存在池中的最大连接数。

configs

用于管理服务器上的配置的对象。请参阅 configs documentation 有关详细信息,请参阅。

containers

用于管理服务器上的容器的对象。请参阅 containers documentation 有关详细信息,请参阅。

images

用于管理服务器上的图像的对象。请参阅 images documentation 有关详细信息,请参阅。

networks

用于管理服务器上的网络的对象。请参阅 networks documentation 有关详细信息,请参阅。

nodes

用于管理服务器上的节点的对象。请参阅 nodes documentation 有关详细信息,请参阅。

plugins

用于管理服务器上的插件的对象。请参阅 plugins documentation 有关详细信息,请参阅。

secrets

用于管理服务器上的机密的对象。请参阅 secrets documentation 有关详细信息,请参阅。

services

用于管理服务器上的服务的对象。请参阅 services documentation 有关详细信息,请参阅。

swarm

用于管理服务器上的群的对象。请参阅 swarm documentation 有关详细信息,请参阅。

volumes

用于管理服务器上的卷的对象。请参阅 volumes documentation 有关详细信息,请参阅。

close()

关闭所有适配器,并因此关闭会话

df()

获取数据使用情况信息。

返回:

代表不同资源类别及其各自数据使用情况的词典。

返回类型:

(dict)

抛出:

docker.errors.APIError -- 如果服务器返回错误。

events()

从服务器获取实时事件。类似于 docker events 指挥部。

参数:
  • since (UTC datetime or int) -- 从此点获取事件

  • until (UTC datetime or int) -- 在此之前获取事件

  • filters (dict) -- 按事件时间、容器或图像过滤事件

  • decode (bool) -- 如果设置为TRUE,流将被动态解码为DICTS。默认情况下为False。

返回:

A docker.types.daemon.CancellableStream 发电机

抛出:

docker.errors.APIError -- 如果服务器返回错误。

示例

>>> for event in client.events(decode=True)
...   print(event)
{u'from': u'image/with:tag',
 u'id': u'container-id',
 u'status': u'start',
 u'time': 1423339459}
...

>>> events = client.events()
>>> for event in events:
...   print(event)
>>> # and cancel from another thread
>>> events.close()
info()

显示系统范围的信息。与 docker info 指挥部。

返回:

作为词典的信息

返回类型:

(dict)

抛出:

docker.errors.APIError -- 如果服务器返回错误。

login()

使用注册表进行身份验证。类似于 docker login 指挥部。

参数:
  • username (str) -- 注册表用户名

  • password (str) -- 明文密码

  • email (str) -- 注册表帐户的电子邮件

  • registry (str) -- 注册表的URL。例如。 https://index.docker.io/v1/

  • reauth (bool) -- 是否刷新Docker服务器上的现有身份验证。

  • dockercfg_path (str) -- 使用Docker配置文件的自定义路径(默认 $HOME/.docker/config.json 如果存在,则为 $HOME/.dockercfg )

返回:

来自登录请求的响应

返回类型:

(dict)

抛出:

docker.errors.APIError -- 如果服务器返回错误。

ping()

检查服务器是否响应。如果它没有响应,则会引发异常。

返回:

(Bool)来自服务器的响应。

抛出:

docker.errors.APIError -- 如果服务器返回错误。

version()

从服务器返回版本信息。类似于 docker version 指挥部。

返回:

服务器版本信息

返回类型:

(dict)

抛出:

docker.errors.APIError -- 如果服务器返回错误。