这是我的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"中的版本不支持。您可能会看到此错误,因为您正在使用错误的撰写文件版本。

我的Docker-Compose版本:

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

这里怎么了?我的docker-compose版本不应该支持docker-compose.yml规范的v3.1(根据发行说明,确实如此)?

答案

您正在做正确的事情,它应该起作用。但是有一个漏洞在Docker-Compose 1.11.0中,未识别文件格式为3.1为有效。(3.0作品)。

Docker-Compose(1.11.1)已经有一个新的版本,其中包括BugFix:

Bug修复

修复了一个错误,其中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

现在,文件格式不再存在错误。(我没有和你一起测试)。

docker-compose up
Starting compose_a_1
Starting compose_b_1

来自: stackoverflow.com