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

Don*_*van 39 linux ubuntu docker docker-compose

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
Run Code Online (Sandbox Code Playgroud)

docker-compose --version 打印:

docker-compose 1.2.0
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

我使用Ubuntu 14.04 x64.

hba*_*hba 48

签出环境变量COMPOSE_API_VERSION.

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


小智 16

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

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

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

$ docker-compose up

client and server don't have same version (client : 1.18, server: 1.17)
Run Code Online (Sandbox Code Playgroud)

要修复它,我必须使用以下命令安装较低版本的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`
Run Code Online (Sandbox Code Playgroud)

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

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


Adr*_*uat 13

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

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

 wget -qO- https://get.docker.com/ | sh
Run Code Online (Sandbox Code Playgroud)