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.
Ü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!
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.
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
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
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 .)
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.
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.
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 ..
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.