[英]when running docker-compose I get: client version 1.38 is too new. Maximum supported API version is 1.37"
[英]docker-compose: client version is too new
当执行DOCKER_API_VERSION=1.35 docker-compose --verbose up
我得到:
-d compose.config.config.find:使用配置文件:./docker-compose.yml docker.utils.config.find_config_file:尝试路径:['/home/vivo/.docker/config.json', '/home /vivo/.dockercfg'] docker.utils.config.find_config_file: 找不到配置文件 docker.utils.config.find_config_file: 尝试路径: ['/home/vivo/.docker/config.json', '/home /.dockercfg'] docker.utils.config.find_config_file: 找不到配置文件 urllib3.connectionpool._make_request: http://localhost:None "GET /v2.25/version84 HTTP/1.1" 最近调用 400 ):
文件“site-packages/docker/api/client.py”,第 261 行,在 raise_for_status 文件“site-packages/requests/models.py”,第 940 行,在 raise_for_status requests.exceptions.HTTPError:400 客户端错误:错误请求对于 url:http+docker://localhost/v2.25/version在处理上述异常的过程中,又出现了一个异常:
回溯(最后一次调用):文件“bin/docker-compose”,第 6 行,文件“compose/cli/main.py”,第 71 行,主文件 j
“compose/cli/main.py”,第 124 行,在 perform_command 文件中 “compose/cli/command.py”,第 42 行,在 project_from_options 文件中 “compose/cli/command.py”,第 123 行,在 get_project 文件中 “compose /cli/command.py”,第 97 行,get_client 文件“site-packages/docker/api/daemon.py”,第 181 行,版本文件“site-packages/docker/api/client.py”,第 267 行,在 _result 文件“site-packages/docker/api/client.py”,第 263 行,在 _raise_for_status
文件“site-packages/docker/errors.py”,第 31 行,在 create_api_error_from_http_exception docker.errors.APIError:400 客户端错误:错误请求(“客户端版本 2.25 太新。支持的最大 API 版本为”)
我的 docker 版本:
docker-tutorial % docker 版本客户端:版本:
18.06.3-ce API version: 1.27 Go version: go1.10.3 Git commit: d7080c1 Built: Wed Feb 20 02:27:13 2019 OS/Arch: linux/amd64 Experimental: false服务器:引擎:版本:18.06.3-ce API 版本:
1.38(最低版本 1.12) Go 版本:go1.10.3 Git 提交:d7080c1 内置:2019 年 2 月 20 日星期三 02:25:38 操作系统/架构:
linux/amd64 实验性:假
我的 docker-compose 版本:
docker-tutorial % docker-compose version docker-compose version 1.24.1, build 4667896b docker-py version: 3.7.3 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018
还有我的 docker-compose.yml:
version: '2.3'
services:
app:
image: php:7.2-apache
volumes:
- .:/var/www/html
ports:
- 8000:80
基于此文档,我认为您要设置COMPOSE_API_VERSION
:
COMPOSE_API_VERSION
Docker API 仅支持来自报告特定版本的客户端的请求。 如果您使用 docker-compose 收到“客户端和服务器没有相同版本错误”,您可以通过设置此环境变量来解决此错误。 设置版本值以匹配服务器版本。
您的 docker 版本 api 是18.06.3-ce API version: 1.27
因此DOCKER_API_VERSION=1.35
对于该版本来说太新了,请尝试使用:
DOCKER_API_VERSION=1.27
或升级您的 docker 安装。
请参考这里
问题似乎已在 Docker 版本 18.09 及更高版本中得到修复。 值得升级。 如果您不希望您的容器在 Docker 版本升级时受到影响,请在您的daemon.json
上启用live-restore
并执行systemctl reload daemon
。 之后执行升级。
在基于 linux 的发行版上运行有时会在 apt 更新后发行版中有更新时发生,
您可以作为服务重新启动,有时这可以解决问题。 sudo service docker restart
,
在其他情况下,它可能是 ISO 缓存问题,可以使用docker-machine upgrade dev/YourMachineName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.