快速解决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 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
Python基本数据类型详细介绍
Mar 11 Python
python中assert用法实例分析
Apr 30 Python
Python ldap实现登录实例代码
Sep 30 Python
python实现傅里叶级数展开的实现
Jul 21 Python
Python数据可视化之画图
Jan 15 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
python实现最短路径的实例方法
Jul 19 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
python FTP编程基础入门
Feb 27 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 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基础知识:控制结构
2006/12/13 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
Python 文件和输入输出小结
2013/10/09 Python
Python常用模块介绍
2014/11/21 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
pytorch forward两个参数实例
2020/01/17 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
庆七一活动方案
2014/01/25 职场文书
工程专业应届生求职信
2014/02/19 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书