一、想和docker守护进程通讯,就必须先实例化一个客户端。这里有最简单的方法就是经过名为from_env()的函数。也能够经过经过手动的方式实例化一个DockerClient 类。node
二、from_env()docker
返回一个客户端配置从环境变量中。json
这个环境变量和docker命令行是同样的。安全
DOCKER_HOST服务器
链接Docker host的url网络
DOCKER_TLS_VERIFYtcp
验证主机的CA证书函数
DOCKER_CERT_PATHurl
链接docker主机须要用到的TLS证书路径 spa
参数说明:
version(str) 能够设置API版本,设置自动检测服务器版本,默认1.26
timeout(int) 链接docker主机超时时间以秒为单位。
ssl_version(int) 设置ssl版本信息
assert_hostname(bool) 是否验证服务器的主机名
environment(dict) 设置docker的环境变量,默认值是os.environ
举例:
import docker client=docker.from_env(timeout=10,version=1.28)
三、DockerClient()
我发现上面的from_env()只是对DockerClient()作了一个封装,因此想要更多的个性化配置须要用到咱们的DockerClient()类。
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版本,能够设置自动检测服务器的版本。默认1.26.
timeout(int) - 默认超时时间,以秒为单位。
tls(bool or TLSConfig) - 开启TLS。设置为True开启默认配置。设置为TLSConfig对象使用个性化配置。
user_agent(str) - 为服务设置一个自定义的用户代理。
子方法:
configs:
在服务器上管理配置对象。
containers:
在服务器上管理容器对象。
images:
在服务器上管理镜像对象。
networks:
在服务器上管理网络的对象。
node:
在服务器上管理节点的对象。
plugins:
在服务器上管理插件的对象。
secrets:
在服务器上管理安全的对象。
services:
在服务器上管理服务的对象
swarm:
在服务器上管理集群的对象。
volumes:
在服务器上管理数据卷的对象。
df():
获取数据使用信息
返回不一样资源类别和资源使用状况。
events()
从服务器获取实时事件。
参数:
since(UTC 时间戳或者整形)
until(UTC 时间戳或者整形)
filters(dict) 过滤时间时间,对象能够是容器或镜像。
返回:能够迭代取出事件。(它是一个生成器)
>>> for event in client.events() ... print event {u'from': u'image/with:tag', u'id': u'container-id', u'status': u'start', u'time': 1423339459} ...
提示:若是没有日志,随便操做下容器就行了,好比启动/中止一个容器就会有事件输出。
info()
查看系统信息,类是命令docker info
login()
登陆验证,类是命令docker login
参数:
username(str):用户名
password(str):密码
email(str):注册访问的邮箱
registry(str):注册的url
reauth(bool):是否刷新docker服务器上的现有验证
dockercfg_path(str) :使用自定义的路径配置默认$HOME/.docker/config.json
ping()
验证服务可用性。
返回:BOOL
version()
返回服务器版本信息。