web-dev-qa-db-fra.com

ERREUR: la version de "./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 le docker-compose.yml

version: “2”
services:
  web:
   build: .
   environment:
    MONGO_URI="mongodb://ravimongo:27017"
   ports:
    — “3000:3000”
   links:
    — ravimongo
   depends_on:
    — ravimongo
  ravimongo:
   image: mongo:3.2.6
   ports:
     — “27017:27017”

Voici l'erreur:

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", "3.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

Les détails de la version sont les suivants: Docker-compose version

docker-compose version 1.11.2, build dfed245
docker-py version: 2.1.0
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016

version docker

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Tue Mar 28 00:40:02 2017
 OS/Arch:      darwin/AMD64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:00:50 2017
 OS/Arch:      linux/AMD64
 Experimental: true

J'ai vérifié la syntaxe yaml dans http://www.yamllint.com/ et https://codebeautify.org/yaml-validator . Je suis incapable de trouver le problème.

7

Le YAML est valide. Cependant, vous utilisez un guillemet double gauche comme suit:

version: “2”

D'après l'erreur, il semble que Docker Compose ne soit pas en mesure d'analyser correctement la version. Si vous utilisez un guillemet double left au lieu d'un guillemet , la version qui sera récupérée par Docker compose sera “2” et non 2; elle ne pourra donc pas être assimilée à les versions prises en charge ("2.0", "2.1", "3.0"). Je suggérerais de le changer comme suit:

version: "2"

Faites-moi savoir si les erreurs persistent.

7
Chirag

Votre éditeur insère ici des citations intelligentes au lieu des citations ascii normales:

version: “2”

Cela doit être:

version: "2"

Je vous recommande de ne pas écrire de fichiers yml avec cet éditeur pour éviter des problèmes futurs.

4
BMitch

Comme indiqué dans les journaux des erreurs, vous devez le remplacer par "2.0" au lieu de "2".

1
Iman