我想从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
答案 0 :(得分:1)
检查您的' DOCKER_API_VERSION'中的版本是什么?环境变量,如果存在。您可以设置它以匹配服务器版本。
或者,您可以手动创建不需要任何环境变量的客户端:
client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.24")