43

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

我安装了 docker withapt-get install docker.io和 docker-compose with

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。

4

9 回答 9

51

检查环境变量COMPOSE_API_VERSION

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

于 2015-12-26T19:54:37.413 回答
16

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

最简单的修复方法是使用旧版本的 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,直到其中一个可以工作。

于 2015-07-07T15:29:58.563 回答
15

我认为您只需要使用更新版本的 Docker。大概客户端版本 1.14 在 Compose 内部使用。

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

 wget -qO- https://get.docker.com/ | sh
于 2015-04-19T09:15:48.443 回答
4

我尝试了很多解决方案,但是当我使用时,sudo apt-get upgrade docker-engine我看到消息说我安装了具有不同名称的 docker docker-ce 。在我用sudo apt-get upgrade docker-ce.

于 2017-11-24T16:21:57.730 回答
3

如果您通过以下方式安装了 docker-compose,则可以降级 docker-compose 版本:

pip install docker-compose

您可以先通过以下方式卸载它:

pip uninstall docker-compose

然后,您可以运行:

pip install docker-compose==1.3.0

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

pip install docker-compose==1.2.0

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

ps:详细版本号可见https://github.com/docker/compose/releases

于 2016-03-20T14:29:07.237 回答
2

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

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

于 2015-06-22T13:40:46.473 回答
2

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

于 2018-11-16T18:50:35.553 回答
2

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

您也不必设置特定的 API 版本,您可以设置环境变量COMPOSE_API_VERSION=auto以使其自动检测客户端版本。

于 2016-10-26T09:52:37.233 回答
0

我在我的 Mac 上遇到了同样的问题 - 几个月前,我通过brew安装了 docker、boot2docker 和 docker-compose(以前称为 fig) 。在我和 docker 玩了一段时间之后,我出于某种原因离开了它。现在新的 docker-toolboxdocker-machine开始发挥作用,我“只是”想使用预配置的 docker-file 并说“up”。我得到了上面的错误。

我尝试了我在网上找到的所有东西——还有降级选项(这对我来说感觉不合适)。事情终于奏效了,只是通过homebrew cask安装新的 docker-toolbox并使用以下命令升级我的 docker-vm:

docker-machine upgrade docker-dev

其中“docker-dev”是您在 Virtualbox 中的 docker-vm-Name(启动它,查看正确的名称)。

现在docker versiondocker 再次运行良好,命令带来了正常设置的输出。

于 2015-08-26T08:03:25.527 回答