Docker compose “中的版本”/docker compose.yml“;不受支持。您可能会看到此错误,因为您';重新使用错误的撰写文件版本
这是我的docker-compose.yml文件:Docker compose “中的版本”/docker compose.yml“;不受支持。您可能会看到此错误,因为您';重新使用错误的撰写文件版本,docker-compose,Docker Compose,这是我的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撰写版本:
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撰写版本:
$ 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)已经发布了一个新版本,其中包括错误修复: 错误修正 修复了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进行测试)
如果使用linux/ubuntu,这可能是显而易见的,但要小心以root用户身份运行
docker-compose -v
给予
vs
给予
另外,请确保docker compose和docker machine是最新的,因为我已通过升级docker compose解决了此问题 按照以下步骤升级ubuntu16.04中的docker compose 步骤1:
$which docker-compose
/usr/bin/docker-compose
步骤2:
$sudo rm /usr/bin/docker-compose
步骤3:
curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
步骤4:
chmod +x /usr/bin/docker-compose
在实现lvthillo的解决方案之前,我已经完成了docker compose--version,但仍然会出现过时的版本。结果是我需要刷新bashshell所持有的哈希列表<代码>哈希-r。。。希望这对其他人有用尝试卸载旧版本并重新安装
sudo apt remove docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
reboot
应该打印出来
docker-compose --version
docker-compose version 1.22.0, build 1719ceb
在osx 10.12.6 sierra上 v1.22或更高版本的步骤 我有一个特定的问题/不兼容,我不想完全升级docker。我目前被困在docker 17.06.0-ce-mac18上。所以我只想升级docker compose,其他什么都不想 我的步骤:
- 确定docker compose的位置:
哪个docker compose
- 确定docker compose版本:
=docker compose--version
docker compose版本1.14.0,构建c7bdf9e
- 备份以前的docker compose?:
mv/usr/local/bin/docker compose/usr/local/bin/docker compose bak
- 取代
旋度-Lhttps://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname-s`-`uname-m`>/usr/local/bin/docker-compose
- 如果您需要确定最新版本,只需检查上述版本并将其替换为最新版本即可
- 验证版本:
=docker compose--version
docker compose version 1.22.0,构建f46880f
- 如果不注意具体错误,我们无法告诉您
首先通过运行此命令检查它
docker构建。
当你得到错误,然后在谷歌搜索它
在我的例子中,当我用sudo尝试它时,是权限错误,它起作用了
如果您的文件版本为3.7,并且出现以下错误,希望它将对您有所帮助:
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 compose
或sudo rm/usr/local/bin/docker compose
(2) sudo curl-L”https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname-s)-(uname-m)“-o/usr/local/bin/docker-compose
(3) sudo chmod+x/usr/local/bin/docker compose
(4) sudo ln-s/usr/local/bin/docker compose/usr/bin/docker compose
我希望这能解决问题。要获得最新版本的docker compose:
sudo apt remove docker-compose
curl -L https://github.com/docker/compose/releases/download/1.28.4/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose
我通过确保我的新代码与其余代码对齐来解决这个问题。它似乎需要某种格式,如果它与代码的其余部分不一致,它将看不到“此组合文件的有效顶级部分:版本、服务、网络、卷、机密、配置和以“x-”开头的扩展名”尝试使用“sudo”
你的docker(不是docker compose)的版本是什么?docker版本1.13.0,构建49bf474its
docker compose
和非docker compose
@AbdouTahiri CLI是docker compose
但docker compose
是技术。。在版本“3.6”
中面临同样的问题。我的docker是18.03.0-ce,build 0520e24
谢谢。由于某些原因,你的curl命令在ubuntu 16.04中对我不起作用。然后我根据官方网站上的指南更新到了最新的docker compose版本,这与上述内容大致相同。但是在curl cmd中,“>”改为“-o”。Bug也影响到1.8.0版;版本1.16.1是有用的,并且在Ubuntu 16.04上工作得很好。只需修复上面路径的版本组件,无法将其清晰粘贴在此注释中,因为有反引号:/n不知道原因,但curl
命令不执行。。表示权限被拒绝。如果在运行curl
命令时遇到错误,请尝试以下操作:@DeepakSharma您必须以root用户身份执行curl和chmod命令(或使用sudo),这应该是正确的答案。我在Ubuntu中,我必须使用SUDO命令来工作SUDO docker compose-v给我docker compose 1.8.0版,用SUDO-1构建未知。Sudo不好。这里有一个替代方案:不错的添加,尽管我不会说它“不好”。请随意编辑答案,将其作为一个补充。这对我在初级操作系统Loki(0.4.1)上很有效。因为docker的版本经常更改,请看这里f
sudo apt remove docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
reboot
docker-compose --version
docker-compose version 1.22.0, build 1719ceb
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.
sudo apt remove docker-compose
curl -L https://github.com/docker/compose/releases/download/1.28.4/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose
sudo docker-compose up