Клиент 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")