2

伙计们:

提前感谢您的时间和关注。

docker-compose.yml 文件和 docker-compose cli 可执行文件之间有什么关系是我正在尝试的信息?

这是我的例子。

$>docker-compose version

docker-compose version 1.9.0, build 2585387
docker-py version: 1.10.6
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
$> docker version
Client:
 Version:      17.04.0-ce
 API version:  1.28
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.04.0-ce
 API version:  1.28 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64
 Experimental: false

现在是 docker-compose.yml 文件

version: "2.2"
services:
  database:
    image: "${DOCKER_REPO_NAME}.......

根据https://docs.docker.com/compose/compose-file上的文档,如果docker-engine版本是17.04,它应该支持docker-compose 文件版本指令3.2

然而我看到了这一点。错误

***** 错误如下******

$>docker-compose ${NO_ANSI} config -q


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 version of "2" (or "2.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/

所以问题是我做错了什么?

-奈良哈里

4

3 回答 3

2

你的 docker-compose 已经很老了,只支持 docker-compose.yml 文件的 2.1 版本。

1.13.0 或更高版本支持2.2版本。

您可以更新 docker-compose(推荐)或将 .yml 降级为与 v1 或 v2.1 兼容。

在 .yml 参考指南中有一个包含兼容性说明的表格。

于 2019-02-03T21:57:41.033 回答
1

Docker Compose 发布 1.9.0...

引入docker-compose.yml规范的 2.1 版。此版本需要与 Docker Engine 1.12 或更高版本一起使用。

看起来您至少需要Docker Compose 1.13.0才能使用version: "2.2". (不过,除了个别的 GitHub 发布页面之外,我在任何地方都没有看到清楚的记录。)

于 2019-02-03T22:47:43.347 回答
1

docker-compose 1.9.0 版仅支持 compose 文件规范的 2.1 版。

请参阅https://docs.docker.com/release-notes/docker-compose/#190-2016-11-16

于 2019-02-04T00:18:11.997 回答