python docker-py客户端比服务器更新

时间:2017-11-06 12:43:34

标签: dockerpy

我想从python 3.6.3运行docker。来自终端(Ubuntu)的命令工作正常,但是我的python脚本:

import sys
import docker
image = "blang/latex"

client = docker.from_env()
client.containers.run(image,  '-v /home/data blang/latex pdflatex main.tex', True)

返回:

  

APIError:400客户端错误:错误请求("客户端比服务器更新(客户端API版本:1.30,服务器API版本:1.24)")

docker-machine和docker版本

docker-machine -v
  

docker-machine version 0.13.0,build 9ba6da9

docker version
  

客户端:
  版本:1.12.6
  API版本:1.24
  转版:go1.7.4
  Git commit:78d1802
  建造:2017年3月14日星期二09:47:15   OS / Arch:linux / amd64

     

服务器:
  版本:1.12.6
  API版本:1.24
  转版:go1.7.4
  Git commit:78d1802
  建造:2017年3月14日星期二09:47:15   OS / Arch:linux / amd64

1 个答案:

答案 0 :(得分:1)

检查您的' DOCKER_API_VERSION'中的版本是什么?环境变量,如果存在。您可以设置它以匹配服务器版本。

或者,您可以手动创建不需要任何环境变量的客户端:

client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.24")