日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythondockerapi_docker-py 用Python调用Docker接口的方法

發布時間:2023/12/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythondockerapi_docker-py 用Python调用Docker接口的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

眾所周知,Docker向外界提供了一個API來管理其中的資源。這個API可以是socket文件形式的(一般也是默認的,在/var/run/docker.sock中),也可以是TCP形式的。以前想要通過編程的方法來調用這些API還是傻傻的用subprocess等和系統層面交互的模塊來調用,而docker-py這個模塊則是直接把DockerAPI的調用封裝了進去,讓我們可以更加貼合Docker地進行API調用。

安裝還是用pip:

pip install docker-py,意外的,這個模塊所需要的依賴特別多,等了比我預想更長的時間,裝好了。在python中import docker,不報錯就是裝好了。

■簡單使用

網上的部分教程和使用方法說明可能是因為版本不切合的原因,不奏效。從中篩選了一些奏效的代碼。首先是一個最簡單的應用,就是實例化出一個dockerapi調用者的實例:

import docker

client = docker.Client(base_url='unix:///var/run/docker.sock')

for component,version in client.version().iteritems():

print component,version

初始化實例的過程中用到了參數base_url,它可以指出一個socket文件或者響應的dockerTCP連接如tcp://127.0.0.1:2375這樣子。除此之外,還有version參數可以指出docker的版本,timeout參數指出連接超時的時間,tls參數可以置True或False來指出當前連接是否需要用到SSL證書,另外也可以傳遞一個docker.tls.TLSConfig類的實例來實現指定的TLS配置。

得到的客戶端實例client可以調用一些方法。比如version方法是將當前docker以及其所依賴的環境中各個組件的版本信息以一個字典的方式展現出來。上述在虛擬機中輸出如下:

KernelVersion 3.10.0-693.5.2.el7.x86_64

PkgVersion docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64

Os linux

BuildTime 2018-01-30T09:17:00.069703428+00:00

ApiVersion 1.24

Version 1.12.6

GitCommit 3e8e77d/1.12.6

Arch amd64

GoVersion go1.8.3

其他的讀取當前docker環境中的一些方法如:

client.images([name])獲取鏡像信息,name可以是一個鏡像的name,name的一部分,name:tag等多種形式,獲取到完整的鏡像信息。不指定name時返回所有鏡像信息

client.containers([name])獲取容器信息,name可以是容器的name, id等等,返回

client.info()docker info命令的那些輸出

client.start/stop(name)相當于docker start和stop制定容器

...

上述幾個方法的輸出都是標準的JSON格式,可以很方便地被嵌入到其他的一些系統中

client.login()可以傳入實名參數username, password, registry等,相當于docker login

這里還有很多方法可以說,正巧這回想正式用下ipython這個神器。yum install ipython之后(還挺大的。。),鍵入ipython就進入ipython的shell了。在實例化玩client之后,輸入client.然后按tab鍵要求補全的話,就會顯示出所有client實例可以調用的方法和屬性。

對于一個方法比如client.delete,后面輸入問號再按回車,就可以看到這個方法相關的一些說明和用法。比去網上查,看官方文檔不知道高到哪里去了。

列個所有方法的表,偷懶不詳寫了。

以上這篇docker-py 用Python調用Docker接口的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的pythondockerapi_docker-py 用Python调用Docker接口的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。