这是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语法。我无法找到问题。
答案 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)