SDK2 - 如何建立一個docker客戶端

 

一、想和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()

  返回服務器版本信息。

相關文章
相關標籤/搜索