1

我想从 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 版本 0.13.0,构建 9ba6da9

docker version

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

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

4

1 回答 1

1

检查“DOCKER_API_VERSION”环境变量中的版本(如果存在)。您可以设置它以匹配服务器版本。

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

client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.24")
于 2017-11-07T09:01:36.737 回答