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
和apt-get install docker.io
-compose apt-get install docker.io
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( sudo service docker restart
)后重新启动docker服务。
我有一个非常类似的问题,升级了Docker,并一直运行到相同的错误消息,直到我重新启动服务。 (请参阅https://serverfault.com/a/700707/295500 。)
由于docker-compose 1.4可以设置客户端API版本,所以不必降级客户端或升级服务器。
您不必设置特定的API版本,您可以设置环境变量COMPOSE_API_VERSION=auto
以使其自动检测客户端版本。
我在我的Mac上遇到了同样的问题 – 几个月前,我通过brew安装了docker,boot2docker和docker-compose(以前称为fig)。 在我和码头玩了一阵之后,我因为某种原因离开了它。 现在,新的docker-toolbox和docker-machine开始发挥作用,我“只是”想使用一个预先配置的docker文件并说“up”。 我得到了上面的错误。
我尝试了我在网上找到的所有东西 – 也是降级选项(这对我来说并不合适)。 事情终于奏效了,只是通过自制酒桶安装新的docker-toolbox ,并用以下命令升级我的docker-vm:
docker-machine upgrade docker-dev
其中“docker-dev”是您在Virtualbox中的docker-vm-Name(启动它,查看正确的名称)。
现在docker再次正常运行,docker docker version
命令带来了正常设置的输出。
你可以降级你的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
。 在我用sudo apt-get upgrade docker-ce
修复之后。