docker-compose up leads to “client and server don&

2019-01-21 22:18发布

docker version prints:

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 prints:

docker-compose 1.2.0

I installed docker with apt-get install docker.io and 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

I use Ubuntu 14.04 x64.

9条回答
来,给爷笑一个
2楼-- · 2019-01-21 22:36

This is an issue of docker API version used by docker-compose being higher than that that of docker daemon listening to serve.

Easiest way to fix is this to use an older version of docker-compose.

Here is my example but with different version mismatch:

$ docker-compose up

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

To fix it, I had to install a lower version of docker-compose(1.2 version instead of latest 1.3 version) using following command

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`

You can find different version of docker-compose at https://github.com/docker/compose/releases

Based on your server version, you need to try different lower versioned docker-compose until one works.

查看更多
甜甜的少女心
3楼-- · 2019-01-21 22:41

I had the same problem on my Mac - some months ago I installed docker, boot2docker und docker-compose (formerly fig) via brew. After I played a while with docker, I left it for some reason as it was. Now new docker-toolbox and docker-machine come into play and I "just" wanted to use a preconfigured docker-file and say "up". I got the error above.

I tried all things i found on the net - also the downgrade-option (which didn't feel right for me). The thing finally worked, was just to install new docker-toolbox via homebrew cask and upgrade my docker-vm with the following commands:

docker-machine upgrade docker-dev

Where "docker-dev" is your docker-vm-Name in Virtualbox (start it, to see the correct name).

Now docker runs fine again and the docker version command brings a normal-setup`s output.

查看更多
对你真心纯属浪费
4楼-- · 2019-01-21 22:43

you can downgrade your docker-compose version,if you have installled your docker-compose by:

pip install docker-compose

you can uninstall it first by:

pip uninstall docker-compose

then,you can run:

pip install docker-compose==1.3.0

if you docker-compose up,still show the similar info,you can uninstall it(by pip uninstall docker-compose),and install a lower version docker-compose,such as:

pip install docker-compose==1.2.0

you can go on the loop, if still show the wrong info.

ps:the detail version number can be found in https://github.com/docker/compose/releases

查看更多
Fickle 薄情
5楼-- · 2019-01-21 22:44

Since docker-compose 1.4 you can set the client API version, you don't have to downgrade the client or upgrade the server.

You do not have to set a specific API version either, you can set the environment variable COMPOSE_API_VERSION=auto to have it auto-detect the client version.

查看更多
冷血范
6楼-- · 2019-01-21 22:44

I tried a lot of solution but when I used sudo apt-get upgrade docker-engine I see message that I have installed docker with different name as docker-ce . After I fixed with sudo apt-get upgrade docker-ce.

查看更多
Animai°情兽
7楼-- · 2019-01-21 22:47

I found uninstalling the version installed with apt-get and downloading directly from latest version on their download page via command line wget seemed to work..

查看更多
登录 后发表回答