我有下面的docker-compose.yml文件
services:
containerA:
healthcheck:
test: "/build/docheck"
interval: "10s"
hostname: "containerA"
container_name: "containerA"
build:
dockerfile: "Dockerfile-5.6"
ports:
- "8081:8081"
version: "2.1"当我尝试以下命令时:docker-compose
它失败的原因是:
错误:不支持“./docker-come.yml”中的版本。您可能会看到此错误,因为您使用了错误的撰写文件版本。要么指定一个版本的"2“(或"2.0")并将您的服务定义放在services键下,要么省略version键并将您的服务定义放在文件的根处以使用version 1。
我有以下设置:
$> docker-compose --version
docker-compose version 1.8.0, build unknown
$> docker --version
Docker version 17.12.0-ce, build c97c6d6
$> uname -r
4.9.0-4-amd64
$> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.3 (stretch)
Release: 9.3
Codename: stretch我需要使用2.1版本,因为我使用的是健康检查。有什么好抱怨的吗?
发布于 2018-03-05 15:20:52
在链接到有关版本的详细信息之后,您会发现:
2.1版 版本2的升级,它引入了仅适用于Docker版本1.12.0+的新参数。Version2.1文件由Compose 1.9.0+支持。
https://docs.docker.com/compose/compose-file/compose-versioning/#version-21
您将需要升级您的坞-撰写安装,以支持2.1文件版本。https://docs.docker.com/compose/install/
发布于 2018-04-25 15:07:05
添加这一点是因为我在Ubuntu上遇到了相同的错误。
对我来说,这与我的Compose版本没有任何关系,尽管错误消息是这么说的;我只需要使用sudo运行。所以
sudo docker-compose up
发布于 2022-09-09 10:33:26
Docker Compose 1.9.0+支持Version 2.1。docker-compose版本为1.8.0。要升级docker-compose,可以运行以下命令:
如果通过apt-get安装
sudo apt-get remove docker-compose如果通过curl安装
sudo rm /usr/local/bin/docker-compose如果通过pip安装
pip uninstall docker-compose然后找到最新版本的在GitHub的发布页面上,或者用grep从响应中提取该版本:
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')最后,下载到$PATH访问的位置并设置权限:
DESTINATION=/usr/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATIONhttps://stackoverflow.com/questions/49113453
复制相似问题