137 votes

La version dans "./docker-compose.yml" n'est pas prise en charge. Vous voyez peut-être cette erreur parce que vous utilisez la mauvaise version du fichier Compose

Voici mon menu fixe-composer.fichier yml:

version: '3.1'

services:
  a:
    image: tutum/hello-world
  b:
    image: tutum/hello-world

secrets:
  id: my_password

Si j'exécute $ docker-compose-up - je obtenir ceci:

Version dans "./docker-composer.yml" est pas pris en charge. Vous pourriez voir cette erreur, parce que vous utilisez le mauvais Composer de version de fichier.

Mon menu fixe-composer version:

$ docker-compose --version
docker-compose version 1.11.0, build 6de1806

Quel est le problème ici? Ne devriez pas mon menu fixe-composer en charge la version v3.1 du menu fixe-composer.yml cahier des charges (selon les notes de version, il n') ?

121voto

lvthillo Points 8424

Vous faites tout bien et cela devrait fonctionner. Mais il y avait un bug dans le menu fixe-composer 1.11.0 qui ne reconnaît pas le format de fichier 3.1 comme valide. (3.0).

Il y a déjà une nouvelle version de docker-composer (1.11.1) qui comprend la correction:

Corrections de bugs

Correction d'un bug où l'3.1 format de fichier n'est pas reconnu comme valide par la composition de l'analyseur

Alors je vous recommandons de mettre à niveau votre menu fixe-composition de version si vous souhaitez utiliser le format de fichier 3.1.

Au moment le plus sûr moyen pour mettre à niveau docker-composer est par de le supprimer et de le réinstaller.

rm /usr/local/bin/docker-compose

Réinstaller:

curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
docker-compose version 1.11.1, build 7c5d5e4

Maintenant, il n'y a pas une erreur sur le format de fichier. (Je n'ai pas tester avec votre .yml).

docker-compose up
Starting compose_a_1
Starting compose_b_1

75voto

thavaamm Points 1357

J'ai résolu le problème en mettant à niveau docker-compose.

Suivez les étapes ci-dessous pour mettre à jour docker-compose dans ubuntu16.04

étape 1:

 $which docker-compose
/usr/bin/docker-compose
 

étape 2:

 $sudo rm /usr/bin/docker-compose
 

étape 3:

 curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
 

étape 4:

 chmod +x /usr/bin/docker-compose
 

7voto

Glen Thompson Points 1231

Si vous utilisez linux / ubuntu , c’est peut-être évident, mais faites attention de ne pas utiliser votre compte root, par exemple

 docker-compose -v
 

Donne

 docker-compose version 1.8.0, build unknown
 

contre

 sudo docker-compose -v 
 

Donne

 docker-compose version 1.17.1, build 6d101fb
 

Assurez-vous également que docker-compose et docker-machine sont à jour, comme l'indique @lvthillo.

3voto

qwerty Points 703

essayez de désinstaller l'ancienne version et de le réinstaller.

 sudo apt remove docker-compose
sudo curl -L sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
reboot
 

devrait imprimer

 docker-compose --version
docker-compose version 1.22.0, build 1719ceb
 

2voto

brandon Points 9

J'avais déjà utilisé docker-compose --version avant de mettre en œuvre la solution de lvthillo et des versions obsolètes apparaissaient toujours. Il s'est avéré que je devais vider la liste de hachage de mon shell bash. hash -r ... espérons que c'est utile pour quelqu'un d'autre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X