webentwicklung-frage-antwort-db.com.de

FEHLER: Version in "./docker-compose.yml" wird nicht unterstützt. Möglicherweise wird dieser Fehler angezeigt, weil Sie die falsche Version der Compose-Datei verwenden

Hier ist die 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”

Hier ist der Fehler:

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/

Versionsdetails lauten wie folgt: 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

docker-Version

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

Ich habe die yaml-Syntax in http://www.yamllint.com/ und https://codebeautify.org/yaml-validator überprüft. Ich kann das Problem nicht finden.

Die YAML ist gültig. Sie verwenden jedoch ein linkes Anführungszeichen wie folgt:

version: “2”

Aufgrund des Fehlers scheint Docker Compose die Version nicht korrekt analysieren zu können. Wenn Sie ein linkes Anführungszeichen anstelle eines Anführungszeichens verwenden, lautet die Version, die von Docker compose abgeholt wird, “2” und nicht 2, und kann daher nicht gleichgesetzt werden die unterstützten Versionen ("2.0", "2.1", "3.0"). Ich würde vorschlagen, es folgendermaßen zu ändern:

version: "2"

Lassen Sie mich wissen, ob die Fehler weiterhin bestehen.

7
Chirag

Ihr Editor fügt hier intelligente Anführungszeichen anstelle von normalen ASCII-Anführungszeichen ein:

version: “2”

Dies muss sein:

version: "2"

Ich würde empfehlen, keine Yml-Dateien mit diesem Editor zu schreiben, um zukünftige Probleme zu vermeiden.

4
BMitch

Wie in den Fehlerprotokollen angegeben, sollten Sie es durch "2.0" anstelle von "2" ersetzen.

1
Iman

Die Docker-Engine sollte mit der Dateiversion kompatibel sein. Auf der folgenden Seite kann überprüft werden, welche Engine mit welchem ​​Compose-Dateiformat verwendet werden soll.

https://docs.docker.com/compose/compose-file/

enter image description here

0
luckystones