快速解決docker-py api版本不兼容的問(wèn)題
docker提供了Python、Go等編程語(yǔ)言的api。最近打算用docker SDK for Python(以下簡(jiǎn)稱docker-py)做點(diǎn)東西,本來(lái)以為按照官網(wǎng)上的步驟安裝很簡(jiǎn)單,pip install docker 就行,然而出現(xiàn)了版本不兼容的問(wèn)題。
報(bào)錯(cuò)如下:
docker.errors.APIError: 400 Client Error: Bad Request ("client is newer than server (client API version: 1.30, server API version: 1.19)")
可以使用指令 docker version查看版本號(hào),果然api版本是1.19,但是docker-py的版本是1.30。在docker-py官網(wǎng) 里找一找解決方法,from_env()的解釋如下:
from_env() Return a client configured from environment variables. The environment variables used are the same as those used by the Docker command-line client. They are: DOCKER_HOST The URL to the Docker host. DOCKER_TLS_VERIFY Verify the host against a CA certificate. DOCKER_CERT_PATH A path to a directory containing TLS certificates to use when connecting to the Docker host. Parameters: version (str) – The version of the API to use. Set to auto to automatically detect the server's version. Default: 1.26 timeout (int) – Default timeout for API calls, in seconds. ssl_version (int) – A valid SSL version. assert_hostname (bool) – Verify the hostname of the server. environment (dict) – The environment to read environment variables from. Default: the value of os.environ
有一個(gè)參數(shù)可以指定version,于是這樣寫(xiě):client=docker.from_env(version='1.19') 似乎就能避免版本不兼容的問(wèn)題了。然而還是報(bào)錯(cuò):
ValueError: zero length field name in format
搜了一下這是因?yàn)槲业膒ython版本是2.6,在對(duì)參數(shù)解析時(shí)出現(xiàn)格式問(wèn)題,沒(méi)辦法,只好升級(jí)python2.7了。
在官網(wǎng)的change日志中可以看到,2.0版本之后就不再支持python2.6了。
2.0.0 ... Breaking changes Dropped support for Python 2.6
將python2.6升級(jí)到2.7,不僅要編譯安裝python2.7,還要把/usr/local/bin/pip2.7軟連接給/usr/bin/pip 以覆蓋原來(lái)的pip2.6,然后重新pip install docker
如果是centos系統(tǒng),不要忘了修改/usr/bin/yum ,將第一行#!/usr/bin/python 改為#!/usr/bin/python2.6 ,否則yum指令無(wú)法使用。
以上這篇快速解決docker-py api版本不兼容的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
keras中epoch,batch,loss,val_loss用法說(shuō)明
這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07pandas讀取excel,txt,csv,pkl文件等命令的操作
這篇文章主要介紹了pandas讀取excel,txt,csv,pkl文件等命令的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Anaconda下安裝mysql-python的包實(shí)例
今天小編就為大家分享一篇Anaconda下安裝mysql-python的包實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python通過(guò)移動(dòng)端訪問(wèn)查看電腦界面
這篇文章主要介紹了python通過(guò)移動(dòng)端訪問(wèn)查看電腦界面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Python程序中的觀察者模式結(jié)構(gòu)編寫(xiě)示例
觀察者模式是最常用的設(shè)計(jì)模式之一,旨在觀察目標(biāo)和觀察者之間建立一個(gè)抽象的耦合,減少對(duì)象之間的耦合,這里我們就來(lái)看一下Python程序中的觀察者模式結(jié)構(gòu)編寫(xiě)示例2016-05-05淺談pandas篩選出表中滿足另一個(gè)表所有條件的數(shù)據(jù)方法
今天小編就為大家分享一篇淺談pandas篩選出表中滿足另一個(gè)表所有條件的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02在Pycharm中設(shè)置默認(rèn)自動(dòng)換行的方法
今天小編就為大家分享一篇在Pycharm中設(shè)置默認(rèn)自動(dòng)換行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01