错误:不支持“./docker-compose.yml”中的版本。您可能会看到此错误,因为您使用的是错误的Compose文件版本

时间:2017-06-14 05:16:32

标签: docker docker-compose

这是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”

这是错误:

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/

版本详情如下: docker-compose版本

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

我在http://www.yamllint.com/https://codebeautify.org/yaml-validator中验证了yaml语法。我无法找到问题。

4 个答案:

答案 0 :(得分:7)

YAML有效。但是,您使用左双引号,如下所示:

version: “2”

根据错误,似乎Docker Compose无法正确解析版本。如果您使用left double quotation mark而不是quotation mark,则Docker撰写的版本将为“2”而非2,因此无法使用将其等同于支持的版本("2.0""2.1""3.0")。我建议将其更改为以下内容:

version: "2"

如果错误仍然存​​在,请告诉我。

答案 1 :(得分:4)

你的编辑器在这里注入智能引号而不是正常的ascii引号:

version: “2”

这需要:

version: "2"

我建议不要使用该编辑器编写yml文件,以避免将来出现问题。

答案 2 :(得分:1)

如错误日志中所述,您应将其替换为" 2.0"而不仅仅是" 2"。

答案 3 :(得分:0)

Docker引擎应符合文件版本。可以检查以下页面,哪种引擎应使用哪种撰写文件格式。

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

enter image description here