当前位置: 首页>>技术问答>>正文


docker-compose向上导致“客户端和服务器没有相同的版本(客户端:1.14,服务器:1.12)”错误但客户端和服务器具有相同的版本

, , ,

问题描述

docker version打印:

Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a

docker-compose --version打印:

docker-compose 1.2.0

我用apt-get install docker.io和docker-compose安装了docker

curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

我使用Ubuntu 14.04 x64。

最佳解决办法

检查环境变量COMPOSE_API_VERSION

我得到了ERROR: client and server don't have same version (client : 1.19, server: 1.18),然后我做了export COMPOSE_API_VERSION=1.18并解决了问题!

次佳解决办法

这是docker-compose使用的docker API版本高于docker守护进程监听服务的问题。

最简单的解决方法是使用旧版本的docker-compose。

这是我的示例,但版本不匹配:

$ docker-compose up

client and server don't have same version (client : 1.18, server: 1.17)

要修复它,我必须使用以下命令安装较低版本的docker-compose(1.2版本而不是最新的1.3版本)

curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose``

chmod +x /usr/local/bin/docker-compose`

你可以在https://github.com/docker/compose/releases找到不同版本的docker-compose

根据您的服务器版本,您需要尝试不同的低版本docker-compose,直到其中一个工作。

第三种解决办法

我想你只需要使用更新版本的Docker。据推测,客户端版本1.14在Compose内部使用。

卸载apt-get版本并按照Docker网站上的说明安装Docker:

 wget -qO- https://get.docker.com/ | sh

第四种办法

如果你已经安装了docker-compose,你可以降级你的docker-compose版本:

pip install docker-compose

你可以先卸载它:

pip uninstall docker-compose

然后,你可以运行:

pip install docker-compose==1.3.0

如果你docker-compose向上,仍然显示类似的信息,你可以卸载它(通过pip uninstall docker-compose),并安装较低版本docker-compose,如:

pip install docker-compose==1.2.0

你可以继续循环,如果仍然显示错误的信息。

ps:详细版本号可在https://github.com/docker/compose/releases中找到

第五种办法

我尝试了很多解决方案但是当我使用sudo apt-get upgrade docker-engine时,我看到消息说我已经安装了名为docker-ce的不同名称的docker。用sudo apt-get upgrade docker-ce固定后。

第六种办法

升级Docker(sudo service docker restart)后尝试重新启动docker服务。

我有一个非常类似的问题,升级了Docker,并且在我重新启动服务之前一直运行相同的错误消息。 (参见https://serverfault.com/a/700707/295500。)

第七种办法

由于docker-compose 1.4可以设置客户端API版本,因此您不必降级客户端或升级服务器。

您也不必设置特定的API版本,您可以设置环境变量COMPOSE_API_VERSION=auto以使其具有客户端版本auto-detect。

第八种办法

我发现卸载了安装了apt-get的版本,并通过命令行wget直接从他们的下载页面下载最新版本似乎工作..

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6266.html,未经允许,请勿转载。