快速解决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插入排序算法实例分析
Jul 03 Python
Python实时获取cmd的输出
Dec 13 Python
详解python函数传参是传值还是传引用
Jan 16 Python
python 定义给定初值或长度的list方法
Jun 23 Python
python flask解析json数据不完整的解决方法
May 26 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
python3下pygame如何实现显示中文
Jan 11 Python
pandas DataFrame运算的实现
Jun 14 Python
python2和python3哪个使用率高
Jun 23 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 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 socke 向指定页面提交数据
2008/07/23 PHP
浅析PHP Socket技术
2013/08/02 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
php 多文件上传的实现实例
2016/10/23 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
js表数据排序 sort table data
2009/02/18 Javascript
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
python进行参数传递的方法
2020/05/12 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
毕业生求职信的经典写法
2014/01/31 职场文书
大一新生学期自我评价
2014/04/09 职场文书
青年志愿者活动方案
2014/08/17 职场文书