快速解决docker-py api版本不兼容的问题


Posted in Python onAugust 30, 2019

docker提供了Python、Go等编程语言的api。最近打算用docker SDK for Python(以下简称docker-py)做点东西,本来以为按照官网上的步骤安装很简单,pip install docker 就行,然而出现了版本不兼容的问题。

报错如下:

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查看版本号,果然api版本是1.19,但是docker-py的版本是1.30。在docker-py官网 里找一找解决方法,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

有一个参数可以指定version,于是这样写:client=docker.from_env(version='1.19') 似乎就能避免版本不兼容的问题了。然而还是报错:

ValueError: zero length field name in format

搜了一下这是因为我的python版本是2.6,在对参数解析时出现格式问题,没办法,只好升级python2.7了。

在官网的change日志中可以看到,2.0版本之后就不再支持python2.6了。

2.0.0
...
Breaking changes
 Dropped support for Python 2.6

将python2.6升级到2.7,不仅要编译安装python2.7,还要把/usr/local/bin/pip2.7软连接给/usr/bin/pip 以覆盖原来的pip2.6,然后重新pip install docker

如果是centos系统,不要忘了修改/usr/bin/yum ,将第一行#!/usr/bin/python 改为#!/usr/bin/python2.6 ,否则yum指令无法使用。

以上这篇快速解决docker-py api版本不兼容的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的Template使用指南
Sep 11 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python 变量类型详解
Oct 10 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
Django接收自定义http header过程详解
Aug 23 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
django ajax发送post请求的两种方法
Jan 05 Python
用opencv给图片换背景色的示例代码
Jul 08 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 #Python
python pillow模块使用方法详解
Aug 30 #Python
docker-py 用Python调用Docker接口的方法
Aug 30 #Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 #Python
Django获取应用下的所有models的例子
Aug 30 #Python
Django自带日志 settings.py文件配置方法
Aug 30 #Python
tensorflow如何批量读取图片
Aug 29 #Python
You might like
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
django解决跨域请求的问题详解
2019/01/20 Python
Python读取stdin方法实例
2019/05/24 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Python中and和or如何使用
2020/05/28 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
劳动之星获奖感言
2014/02/01 职场文书
室内拓展活动方案
2014/02/13 职场文书
买房协议书
2014/04/11 职场文书
对学校的意见和建议
2015/06/04 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技