wake-up-neo.net

docker-compose up führt dazu, dass "Client und Server nicht dieselbe Version haben (Client: 1.14, Server: 1.12)", aber Client und Server haben dieselbe Version

docker version druckt:

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

docker-compose 1.2.0

Ich habe Docker mit apt-get install docker.io installiert und Docker-Compose mit 

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

Ich verwende Ubuntu 14.04 x64. 

37
Donovan

Überprüfen Sie die Umgebungsvariable COMPOSE_API_VERSION .

Ich bekam ERROR: client and server don't have same version (client : 1.19, server: 1.18), dann habe ich export COMPOSE_API_VERSION=1.18 und Problem souverän gemacht!

47
hba

Dies ist ein Problem, bei dem die Docker-API-Version von docker-compose höher ist als die des Docker-Daemons, der auf den Dienst wartet.

Am einfachsten lässt sich dies beheben, indem Sie eine ältere Version von Docker-Compose verwenden.

Hier ist mein Beispiel, aber mit unterschiedlichen Versionskonflikten:

$ docker-compose up

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

Um das Problem zu beheben, musste ich eine niedrigere Version von Docker-Compose (Version 1.2 anstelle der neuesten Version 1.3) mit folgendem Befehl installieren

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`

Eine andere Version von docker-compose finden Sie unter https://github.com/docker/compose/releases

Auf der Grundlage Ihrer Serverversion müssen Sie andere Docker-Composer-Versionen mit niedrigerer Version ausprobieren, bis eine Version funktioniert.

16
Srini Koganti

Ich denke, Sie müssen nur eine neuere Version von Docker verwenden. Vermutlich wird die Client-Version 1.14 intern in Compose verwendet.

Deinstallieren Sie die apt-get-Version und folgen Sie den Anweisungen auf der Docker-Website, um Docker zu installieren:

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

sie können Ihre Docker-Compose-Version herunterstufen, wenn Sie Ihre Docker-Compose installiert haben:

pip install docker-compose

sie können es zuerst deinstallieren, indem Sie:

pip uninstall docker-compose

dann kannst du laufen:

pip install docker-compose==1.3.0

wenn Sie Docker-Compose erstellen, die ähnlichen Informationen weiterhin anzeigen, können Sie sie deinstallieren (durch pip uninstall docker-compose) und eine niedrigere Version von Docker-Compose installieren, z.

pip install docker-compose==1.2.0

sie können auf die Schleife gehen, wenn immer noch die falschen Informationen angezeigt werden.

ps: Die Versionsnummer des Details finden Sie in https://github.com/docker/compose/releases

3
dongzhuoyao

Versuchen Sie, den Docker-Dienst nach dem Upgrade von Docker (Sudo service docker restart) neu zu starten.

Ich hatte ein sehr ähnliches Problem, rüstete Docker auf und erhielt die gleiche Fehlermeldung, bis der Dienst neu gestartet wurde. (Siehe https://serverfault.com/a/700707/295500 .)

2
gonzalo-bulnes

Da Docker-Compose 1.4 die Client-API-Version festlegen kann, müssen Sie den Client nicht downgraden oder den Server aktualisieren. 

Sie müssen auch keine bestimmte API-Version festlegen. Sie können die Umgebungsvariable COMPOSE_API_VERSION=auto so einstellen, dass die Clientversion automatisch erkannt wird.

2
L. G.

Ich habe viele Lösungen ausprobiert, aber als ich Sudo apt-get upgrade docker-engine verwendete, sehe ich die Meldung, dass ich Docker mit einem anderen Namen als docker-ce installiert habe. Nachdem ich mit Sudo apt-get upgrade docker-ce behoben habe.

2
Anton

Ich fand die Deinstallation der mit apt-get installierten Version und das Herunterladen direkt von der neuesten Version auf ihrer Download-Seite über die Befehlszeile wget zu funktionieren schien ..

1
Jason Graham

Ich hatte das gleiche Problem auf meinem Mac - vor einigen Monaten installierte ich Docker, boot2docker und docker-compose (ehemals fig) über brew . Nachdem ich eine Weile mit Docker gespielt hatte, habe ich es aus irgendeinem Grund belassen. Nun kommen neue docker-toolbox und docker-machine ins Spiel und ich wollte "nur" eine vorkonfigurierte Docker-Datei verwenden und "up" sagen. Ich habe den Fehler oben erhalten.

Ich habe alles versucht, was ich im Internet gefunden habe - auch die Downgrade-Option (die sich für mich nicht richtig anfühlte). Die Sache funktionierte schließlich nur, um neue docker-toolbox via homebrew cask zu installieren und mein Docker-vm mit den folgenden Befehlen zu aktualisieren:

docker-machine upgrade docker-dev

Wobei "docker-dev" Ihr Docker-vm-Name in Virtualbox ist (starten Sie ihn, um den richtigen Namen zu sehen).

Jetzt läuft Docker wieder einwandfrei und der Befehl docker version liefert die Ausgabe eines normalen Setups.

0
jonashackt