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

2023-12-21

这是我的 docker-compose.yml 文件:

version: '3.1'

services:
  a:
    image: tutum/hello-world
  b:
    image: tutum/hello-world

secrets:
  id: my_password

如果我跑$ docker-compose-up我明白了:

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

我的 docker-compose 版本:

$ docker-compose --version
docker-compose version 1.11.0, build 6de1806

这是怎么回事?我的 docker-compose 版本不应该支持 docker-compose.yml 规范的 v3.1 (根据发行说明 https://github.com/docker/compose/releases,确实如此)?


你所做的一切都是正确的,并且应该有效。但有一个bug https://github.com/docker/compose/releases在 docker-compose 1.11.0 中,无法将文件格式 3.1 识别为有效。 (3.0 有效)。

docker-compose (1.11.1) 已经发布了新版本,其中包含错误修复:

Bugfixes

修复了 Compose 解析器无法将 3.1 文件格式识别为有效的错误

因此,如果您想使用文件格式 3.1,我建议您升级 docker-compose 版本。

目前升级 docker-compose 最安全的方法是删除它并重新安装。

rm /usr/local/bin/docker-compose

重新安装:

curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
docker-compose version 1.11.1, build 7c5d5e4

现在文件格式不再有错误。 (我没有用你的 .yml 进行测试)。

docker-compose up
Starting compose_a_1
Starting compose_b_1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐