首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不支持"./docker-compose.yml“中的版本。您可能会看到此错误,因为您使用了错误的撰写文件版本

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

Stack Overflow用户
提问于 2017-02-09 14:58:43
回答 14查看 172.3K关注 0票数 132

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

代码语言:javascript
复制
version: '3.1'

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

secrets:
  id: my_password

如果我运行$ docker-compose-up,就会得到以下信息:

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

我的船坞-撰写版本:

代码语言:javascript
复制
$ docker-compose --version
docker-compose version 1.11.0, build 6de1806

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

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2017-02-10 10:54:47

你做的每件事都是正确的,它应该会起作用的。但是在docker 1.11.0中有一个错误,它不承认文件格式3.1是有效的。(3.0作品)。

已经发布了一个新版本的(1.11.1),其中包括bugfix修复:

错误修复 修正了一个错误,即3.1文件格式不能被组合解析器识别为有效

因此,如果您想使用文件格式3.1,我建议升级您的坞-撰写版本。

目前,升级坞-组合的最安全的方法是删除它并重新安装它。

代码语言:javascript
复制
rm /usr/local/bin/docker-compose

重新安装:

代码语言:javascript
复制
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测试)。

代码语言:javascript
复制
docker-compose up
Starting compose_a_1
Starting compose_b_1
票数 114
EN

Stack Overflow用户

发布于 2018-03-21 13:20:06

我通过升级船坞组成解决了这个问题。

按照以下步骤升级对接器-在ubuntu16.04中编写

step1:

代码语言:javascript
复制
$which docker-compose
/usr/bin/docker-compose

step2:

代码语言:javascript
复制
$sudo rm /usr/bin/docker-compose

step3:

代码语言:javascript
复制
curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

step4:

代码语言:javascript
复制
chmod +x /usr/bin/docker-compose
票数 73
EN

Stack Overflow用户

发布于 2020-02-06 07:46:07

如果您的文件版本为3.7,则会得到以下错误:

代码语言:javascript
复制
ERROR: Version in "./config.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") 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.

以下是解决办法:

  1. 删除当前二进制sudo apt-get remove docker-composesudo rm /usr/local/bin/docker-compose
  2. 下载二进制sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose。您可以找到当前最新的这里的版本 (编写时为1.29.1)。
  3. 允许执行sudo chmod +x /usr/local/bin/docker-compose
  4. 删除旧链接sudo rm /usr/bin/docker-compose,创建新链接sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

我希望这能解决这个问题。

票数 55
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42139982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档