Клиент Python Docker-Py новее, чем сервер

Я хочу запустить докер из Python 3.6.3. Команда из терминала (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 -v

Docker-машина версия 0.13.0, сборка 9ba6da9

docker version

Клиент:
Версия: 1.12.6
Версия API: 1.24
Версия Go: go1.7.4
Git commit: 78d1802
Построен: вт 14 мар. 09:47:15 2017
OS / Arch: linux / amd64

Сервер:
Версия: 1.12.6
Версия API: 1.24
Версия Go: go1.7.4
Git commit: 78d1802
Построен: вт 14 мар. 09:47:15 2017
OS / Arch: linux / amd64

1 ответ

Проверьте, какая версия в вашей переменной окружения 'DOCKER_API_VERSION', если она есть. Вы можете установить его в соответствии с версией сервера.

В качестве альтернативы вы можете создать клиент вручную, не требуя каких-либо переменных среды:

client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.24")
Другие вопросы по тегам