本篇主要为对官方说明文档的翻译和测试,可能存在纰漏,请以官方文档为准,欢迎指正。官方地址:
https://docker-py.readthedocs.io/en/stable/index.html
- -1.连接
import docker
client = docker.from_env() #使用本地环境
#client = docker.DockerClient(base_url='tcp://192.168.1.4:5210', version="auto") # 连接docker remote api
- -0. 示例
- >>>client.containers.run("ubuntu", "echo hello world")
'hello world\n'- >>>client.containers.run("bfirsh/reticulate-splines", detach=True)
<Container '45e6d2de7c54'>
-
1. from_env()
使用的环境变量和docker命令行客户端使用的环境变量一致:
- DOCKER_HOST
docker 主机的url。- DOCKER_TLS_VERIFY
使用CA证书认证。- DOCKER_CERT_PATH
CA证书的路径
- 可用参数:
- version (str)
API的版本,设置为auto可以自动检查服务端版本,默认值:1.35
- timeout (int)
api调用时的默认超时,单位:秒
- ssl_version (int)
有效的ssl版本。
- assert_hostname (bool)
验证服务端主机名
- environment (dict)
环境变量来源,默认:os.environ
- credstore_env (dict)
覆写环境变量
基本用法
无ca
>>> client = docer.from_env()
-
2. DockerClient()
- 可用参数:
- base_url (str)
docker server的url,示例 unix:///var/run/docker.sock或tcp://192.168.0.5:5210
- version (str)
API的版本,设置为auto可以自动检查服务端版本,默认值:1.35
- timeout (int)
api调用时的默认超时,单位:秒
- tls (bool or [
TLSConfig
])
设置为true时启用,或设置TLSConfig对象使用自定义配置
>>> tls_config = docker.tls.TLSConfig(client_cert=(r'/~/cert.pem', r'/~/key.pem'),verify=False)
- user_agent (str)
设置自定义用户代理
- credstore_env (dict)
覆写环境变量
基本用法
无ca
>>> client=docker.DockerClient(base_url='tcp://192.168.1.4:5210', version="auto")
使用ca
>>> tls_config = docker.tls.TLSConfig(client_cert=(r'/~/cert.pem', r'/~/key.pem'),verify=False)
>>>client=docker.DockerClient(base_url='tcp://192.168.0.5:5210', tls=tls_config, version="auto")