最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker-py 用Python調(diào)用Docker接口的方法

 更新時(shí)間:2019年08月30日 09:10:20   作者:菲宇  
今天小編就為大家分享一篇docker-py 用Python調(diào)用Docker接口的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

官方文檔:【https://docker-py.readthedocs.io/en/stable/images.html

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

安裝還是用pip:

pip install docker-py,意外的,這個(gè)模塊所需要的依賴特別多,等了比我預(yù)想更長(zhǎng)的時(shí)間,裝好了。在python中import docker,不報(bào)錯(cuò)就是裝好了。

■簡(jiǎn)單使用

網(wǎng)上的部分教程和使用方法說(shuō)明可能是因?yàn)榘姹静磺泻系脑?,不奏效。從中篩選了一些奏效的代碼。首先是一個(gè)最簡(jiǎn)單的應(yīng)用,就是實(shí)例化出一個(gè)dockerapi調(diào)用者的實(shí)例:

import docker
 
client = docker.Client(base_url='unix:///var/run/docker.sock')
 
for component,version in client.version().iteritems():

print component,version

初始化實(shí)例的過(guò)程中用到了參數(shù)base_url,它可以指出一個(gè)socket文件或者響應(yīng)的dockerTCP連接如tcp://127.0.0.1:2375這樣子。除此之外,還有version參數(shù)可以指出docker的版本,timeout參數(shù)指出連接超時(shí)的時(shí)間,tls參數(shù)可以置True或False來(lái)指出當(dāng)前連接是否需要用到SSL證書(shū),另外也可以傳遞一個(gè)docker.tls.TLSConfig類的實(shí)例來(lái)實(shí)現(xiàn)指定的TLS配置。

得到的客戶端實(shí)例client可以調(diào)用一些方法。比如version方法是將當(dāng)前docker以及其所依賴的環(huán)境中各個(gè)組件的版本信息以一個(gè)字典的方式展現(xiàn)出來(lái)。上述在虛擬機(jī)中輸出如下:

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

其他的讀取當(dāng)前docker環(huán)境中的一些方法如:

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

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

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

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

...

上述幾個(gè)方法的輸出都是標(biāo)準(zhǔn)的JSON格式,可以很方便地被嵌入到其他的一些系統(tǒng)中

client.login()可以傳入實(shí)名參數(shù)username, password, registry等,相當(dāng)于docker login 

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

對(duì)于一個(gè)方法比如client.delete,后面輸入問(wèn)號(hào)再按回車,就可以看到這個(gè)方法相關(guān)的一些說(shuō)明和用法。比去網(wǎng)上查,看官方文檔不知道高到哪里去了。

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

以上這篇docker-py 用Python調(diào)用Docker接口的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python讀寫csv文件實(shí)例代碼

    python讀寫csv文件實(shí)例代碼

    在本篇文章中小編給各位分享了關(guān)于python讀取和寫入csv文件的知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-07-07
  • Python爬蟲(chóng)實(shí)戰(zhàn):分析《戰(zhàn)狼2》豆瓣影評(píng)

    Python爬蟲(chóng)實(shí)戰(zhàn):分析《戰(zhàn)狼2》豆瓣影評(píng)

    這篇文章主要介紹了Python爬蟲(chóng)實(shí)戰(zhàn):《戰(zhàn)狼2》豆瓣影評(píng)分析,小編在這里使用的是python版本3.5,需要的朋友可以參考下
    2018-03-03
  • Python自動(dòng)檢測(cè)SSL證書(shū)是否過(guò)期的實(shí)現(xiàn)示例

    Python自動(dòng)檢測(cè)SSL證書(shū)是否過(guò)期的實(shí)現(xiàn)示例

    SSL證書(shū)是有有效期的,一旦過(guò)期就會(huì)失效,從而帶來(lái)安全風(fēng)險(xiǎn),本文主要介紹了Python自動(dòng)檢測(cè)SSL證書(shū)是否過(guò)期的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • 獲取python文件擴(kuò)展名和文件名方法

    獲取python文件擴(kuò)展名和文件名方法

    本篇文章通過(guò)python寫一個(gè)獲取python文件擴(kuò)展名和文件名的功能,并分享了代碼,有興趣的參考下。
    2018-02-02
  • Django model update的多種用法介紹

    Django model update的多種用法介紹

    Django開(kāi)發(fā)過(guò)程中對(duì)表(model)的增刪改查是最常用的功能之一,本文介紹筆者在使用model update過(guò)程中遇到的那些事
    2019-07-07
  • Python中模塊的使用--binascii模塊用法

    Python中模塊的使用--binascii模塊用法

    這篇文章主要介紹了Python中模塊的使用--binascii模塊用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python實(shí)現(xiàn)從百度API獲取天氣的方法

    Python實(shí)現(xiàn)從百度API獲取天氣的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)從百度API獲取天氣的方法,實(shí)例分析了Python操作百度API的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python pandas寫入excel文件的方法示例

    python pandas寫入excel文件的方法示例

    這篇文章主要介紹了python pandas寫入excel文件的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python如何設(shè)置指定窗口為前臺(tái)活動(dòng)窗口

    Python如何設(shè)置指定窗口為前臺(tái)活動(dòng)窗口

    這篇文章主要介紹了Python如何設(shè)置指定窗口為前臺(tái)活動(dòng)窗口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python使用FTP上傳文件的實(shí)現(xiàn)示例

    Python使用FTP上傳文件的實(shí)現(xiàn)示例

    本文主要介紹了Python使用FTP上傳文件的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論

光山县| 乌恰县| 翁牛特旗| 靖宇县| 虞城县| 阳新县| 来凤县| 建宁县| 鹤岗市| 子长县| 高碑店市| 崇左市| 汤阴县| 舞钢市| 江安县| 清流县| 芷江| 威宁| 出国| 隆安县| 河池市| 昆山市| 镇巴县| 松溪县| 白城市| 罗江县| 辽阳县| 阿图什市| 西宁市| 新野县| 南郑县| 犍为县| 四子王旗| 丰城市| 九寨沟县| 满洲里市| 江安县| 出国| 呼伦贝尔市| 安溪县| 河源市|