这是我的 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 版本:
$ docker-compose --version
docker-compose version 1.11.0, build 6de1806

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

最佳答案

你做的一切都是正确的,它应该可以工作。但是在 docker-compose 1.11.0 中有一个 bug 无法识别文件格式 3.1 为有效。 (3.0 作品)。

已经有一个新的 docker-compose (1.11.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

关于docker-compose - 不支持 "./docker-compose.yml"中的版本。您可能会看到此错误,因为您使用了错误的 Compose 文件版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42139982/

10-16 18:11