web-dev-qa-db-fra.com

docker-compose up conduit à "le client et le serveur n'ont pas la même version (client: 1.14, serveur: 1.12)", mais le client et le serveur ont la même version

docker version imprime:

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

docker-compose 1.2.0

J'ai installé docker avec apt-get install docker.io et docker-compose avec 

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

J'utilise Ubuntu 14.04 x64. 

37
Donovan

Vérifiez la variable d'environnement COMPOSE_API_VERSION .

Je devenais ERROR: client and server don't have same version (client : 1.19, server: 1.18), alors j'ai export COMPOSE_API_VERSION=1.18 et le problème résolu!

47
hba

Ceci est un problème de la version de l'API de docker utilisée par docker-compose étant supérieure à celle du démon de docker à l'écoute.

Le moyen le plus simple de résoudre ce problème consiste à utiliser une version plus ancienne de docker-compose.

Voici mon exemple mais avec une différence de version différente:

$ docker-compose up

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

Pour résoudre ce problème, j'ai dû installer une version inférieure de docker-compose (version 1.2 au lieu de la dernière version 1.3) à l'aide de la commande suivante

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`

Vous pouvez trouver différentes versions de docker-compose à l'adresse suivante: __. https://github.com/docker/compose/releases

En fonction de la version de votre serveur, vous devez essayer différentes compositions docker versionnées inférieures jusqu'à ce que l'une d'entre elles fonctionne.

16
Srini Koganti

Je pense que vous devez simplement utiliser une version plus récente de Docker. La version client 1.14 est vraisemblablement utilisée en interne dans Compose.

Désinstallez la version d’apt-get et suivez les instructions du site Web de Docker pour installer Docker:

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

vous pouvez rétrograder votre version de docker-compose, si vous avez installé votre docker-compose en:

pip install docker-compose

vous pouvez d'abord le désinstaller en:

pip uninstall docker-compose

alors, vous pouvez exécuter:

pip install docker-compose==1.3.0

si vous dockez-composez, affichez toujours les informations similaires, vous pouvez le désinstaller (par pip uninstall docker-compose) et installer une version inférieure de docker-compose, telle que:

pip install docker-compose==1.2.0

vous pouvez aller sur la boucle, si toujours montrer la mauvaise information.

ps: le numéro de version détaillé peut être trouvé dans https://github.com/docker/compose/releases

3
dongzhuoyao

Essayez de redémarrer le service Docker après la mise à niveau de Docker (Sudo service docker restart).

J'ai eu un problème très similaire, mis à niveau Docker et j'ai continué à lire le même message d'erreur jusqu'à ce que je redémarre le service. (Voir https://serverfault.com/a/700707/295500 .)

2
gonzalo-bulnes

Depuis que docker-compose 1.4 vous permet de définir la version de l’API client, il n’est pas nécessaire de rétrograder le client ou de mettre à niveau le serveur. 

Vous n'avez pas non plus besoin de définir une version spécifique de l'API, vous pouvez également définir la variable d'environnement COMPOSE_API_VERSION=auto pour qu'elle détecte automatiquement la version du client.

2
L. G.

J'ai essayé beaucoup de solutions mais quand j'ai utilisé Sudo apt-get upgrade docker-engine, je vois un message indiquant que j'ai installé docker avec un nom différent en tant que docker-ce. Après j'ai corrigé avec Sudo apt-get upgrade docker-ce.

2
Anton

J'ai trouvé que désinstaller la version installée avec apt-get et télécharger directement depuis la dernière version sur leur page de téléchargement via la ligne de commande wget semblait fonctionner ..

1
Jason Graham

J'ai eu le même problème sur mon Mac - il y a quelques mois, j'ai installé docker, boot2docker et docker-composer (anciennement fig) via brasser . Après avoir joué quelque temps avec Docker, je l’ai laissé pour une raison quelconque. Maintenant, les nouveaux docker-toolbox et docker-machine entrent en jeu et je "voulais" simplement utiliser un fichier docker préconfiguré et dire "up". J'ai l'erreur ci-dessus.

J'ai essayé tout ce que j'ai trouvé sur le net - ainsi que l'option de rétrogradation (qui ne me convenait pas). La chose a finalement fonctionné, était simplement d'installer le nouveau docker-toolbox via homebrew cask et de mettre à jour mon docker-vm avec les commandes suivantes:

docker-machine upgrade docker-dev

Où "docker-dev" est votre nom de docker-vm dans Virtualbox (démarrez-le, pour voir le nom correct).

Maintenant, docker fonctionne à nouveau correctement et la commande docker version apporte la sortie d’une configuration normale.

0
jonashackt