客户端¶
创建客户端¶
要与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.sock
或tcp://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 -- 如果服务器返回错误。