gpt4 book ai didi

Azure 开发运营 : Compose Error: The current Compose file version is not compatible with your engine version

转载 作者:行者123 更新时间:2023-12-03 06:28:11 25 4
gpt4 key购买 nike

使用 AzureDevOps,我从昨天开始就收到以下错误,在此之前几个月一切正常:

The current Compose file version is not compatible with your engine version. Please 
upgrade your Compose file to a more recent version, or set a COMPOSE_API_VERSION in your
environment.

在 Azure-DevOps 中,我在管道中使用:

  - task: DockerCompose@0
displayName: Run services
inputs:
containerregistrytype: 'Container Registry'
dockerComposeFile: 'build/docker/docker-compose.yml'
dockerComposeFileArgs: 'DOCKER_BUILD_SOURCE=$(System.DefaultWorkingDirectory)'
action: 'Run services'
buildImages: false

我的 docker-compose (docker-compose.yml) 文件如下所示(详细信息已更改):

version: '3.0'

services:
sqlserver:
image: willh/mssql-server-windows-developer:latest
container_name: sqlserver
shm_size: 4gb
ports:
- "1433:1433"
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=a(!)Passcode

我实现了更新的微软构建代理图像:

来自:https://github.com/actions/runner-images/blob/win22/20230129.1/images/win/Windows2022-Readme.md

效果很好包含:

  • Docker 20.10.23
  • Docker Compose v1 1.29.2
  • Docker Compose v2 2.15.1
  • Docker-wincred 0.7.0

至:https://github.com/actions/runner-images/blob/win22/20230206.1/images/win/Windows2022-Readme.md

这不起作用包含:

  • Docker 23.0.0
  • Docker Compose v1 1.29.2
  • Docker Compose v2 2.15.1
  • Docker-wincred 0.7.0

但我不知道如何让它再次工作。我必须设置哪个 COMPOSE_API_VERSION ?和我在 docker-compose.yml 文件中的一样吗?

最佳答案

您收到的错误消息表明正在使用的 Docker Compose 版本与 Docker Compose 文件 (docker-compose.yml) 中指定的版本不兼容。 Docker Compose 文件中指定的版本是 3.0,但更新后的构建代理镜像上安装的 Docker Compose 版本是 2.15.1。

要解决此问题,您可以将 Docker Compose 文件升级到与已安装的 Docker Compose 版本兼容的版本,也可以将 COMPOSE_API_VERSION 环境变量设置为 Docker Compose 文件中指定的版本。

在您的情况下,您可以将 COMPOSE_API_VERSION 环境变量设置为 3.0:

env:
COMPOSE_API_VERSION: '3.0'

并将此环境变量添加到 Azure DevOps 管道任务中:

- task: DockerCompose@0
displayName: Run services
inputs:
containerregistrytype: 'Container Registry'
dockerComposeFile: 'build/docker/docker-compose.yml'
dockerComposeFileArgs: 'DOCKER_BUILD_SOURCE=$(System.DefaultWorkingDirectory)'
action: 'Run services'
buildImages: false
env:
COMPOSE_API_VERSION: '3.0'

这应该允许管道任务使用正确版本的 Docker Compose 并避免兼容性错误。

关于Azure 开发运营 : Compose Error: The current Compose file version is not compatible with your engine version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75399574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com