Skip to main content
 首页 » 编程设计

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

2024年02月27日101me-sa

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

version: '3.1' 
 
services: 
  a: 
    image: tutum/hello-world 
  b: 
    image: tutum/hello-world 
 
secrets: 
  id: my_password 

如果我运行 $ docker-compose-up 我会得到:

Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version.

我的 docker-compose 版本:

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

这里出了什么问题?我的 docker-compose 版本不应该支持 docker-compose.yml 规范的 v3.1 (根据 release notes ,它确实支持)?

请您参考如下方法:

您所做的一切都是正确的,并且应该有效。但有一个bug在 docker-compose 1.11.0 中,无法将文件格式 3.1 识别为有效。 (3.0 作品)。

已经有一个新版本的 docker-compose (1.11.1),其中包含错误修复:

Bugfixes

Fixed a bug where the 3.1 file format was not being recognized as valid by the Compose parser

因此,如果您想使用文件格式 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