不支持“./docker-compose.yml”中的版本
Version in "./docker-compose.yml" is unsupported
我有以下 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 up
由于以下原因失败:
错误:“./docker-compose.yml”中的版本不受支持。您可能会看到此错误,因为您使用了错误的 Compose 文件版本。指定版本“2”(或“2.0”)并将您的服务定义放在 services
键下,或者省略 version
键并将您的服务定义放在要使用的文件的根目录下版本 1。
有关 Compose 文件格式版本的更多信息,请参阅 https://docs.docker.com/compose/compose-file/
我有以下设置:
$> 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 版,因为我正在使用健康检查。知道为什么这是抱怨吗?
在 link 之后查看有关版本的详细信息,您会发现:
Version 2.1
An upgrade of version 2 that introduces new parameters only available
with Docker Engine version 1.12.0+. Version 2.1 files are supported by
Compose 1.9.0+.
https://docs.docker.com/compose/compose-file/compose-versioning/#version-21
您需要升级 docker-compose 安装以支持 2.1 文件版本。 https://docs.docker.com/compose/install/
添加这个是因为我 运行 在 Ubuntu 上出现了同样的错误。
对我来说,它与我的 Compose
版本无关,尽管错误消息是这样说的;我只需要 运行 和 sudo
。所以
sudo docker-compose up
我在使用 docker 撰写版本 3 尝试命令 docker-compose up
时收到此错误。然后我 运行 命令检查 docker 版本docker version
,结果如下。
PS C:\SVenu\M4Movie\Api\Api> docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:12:48 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
所以我的版本是18.03,目前是最新的。所以我移动到这个 link 来检查支持这个引擎的撰写文件版本。然后将我的 docker 撰写版本更改为 3.6。
version: '3.6'
之后一切正常。
安装 新版本 的 Docker Compose 帮助我修复了这个错误。参见 official documentation。
我有以下 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 up
由于以下原因失败:
错误:“./docker-compose.yml”中的版本不受支持。您可能会看到此错误,因为您使用了错误的 Compose 文件版本。指定版本“2”(或“2.0”)并将您的服务定义放在 services
键下,或者省略 version
键并将您的服务定义放在要使用的文件的根目录下版本 1。
有关 Compose 文件格式版本的更多信息,请参阅 https://docs.docker.com/compose/compose-file/
我有以下设置:
$> 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 版,因为我正在使用健康检查。知道为什么这是抱怨吗?
在 link 之后查看有关版本的详细信息,您会发现:
Version 2.1
An upgrade of version 2 that introduces new parameters only available with Docker Engine version 1.12.0+. Version 2.1 files are supported by Compose 1.9.0+.
https://docs.docker.com/compose/compose-file/compose-versioning/#version-21
您需要升级 docker-compose 安装以支持 2.1 文件版本。 https://docs.docker.com/compose/install/
添加这个是因为我 运行 在 Ubuntu 上出现了同样的错误。
对我来说,它与我的 Compose
版本无关,尽管错误消息是这样说的;我只需要 运行 和 sudo
。所以
sudo docker-compose up
我在使用 docker 撰写版本 3 尝试命令 docker-compose up
时收到此错误。然后我 运行 命令检查 docker 版本docker version
,结果如下。
PS C:\SVenu\M4Movie\Api\Api> docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:12:48 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
所以我的版本是18.03,目前是最新的。所以我移动到这个 link 来检查支持这个引擎的撰写文件版本。然后将我的 docker 撰写版本更改为 3.6。
version: '3.6'
之后一切正常。
安装 新版本 的 Docker Compose 帮助我修复了这个错误。参见 official documentation。