AWS CloudFormation ECS compose-cli已弃用,如何升级构建脚本?
升级AWS CodePipeline构建脚本替代已弃用的Docker Compose CLI
Docker Compose CLI(原docker/compose-cli仓库)自2023年11月起停止维护,其ECS相关功能已经整合到Docker Compose核心包的ECS插件中,无需再单独安装第三方CLI工具。以下是升级后的完整构建步骤:
升级后的buildspec.yml脚本
# (可选)如果构建环境的Docker Compose版本低于2.17.0,先执行升级 # sudo apt-get update && sudo apt-get install docker-compose-plugin -y # 创建并切换到ECS上下文(使用Docker Compose内置的ECS支持) docker context create ecs $ENVIRONMENT_NAME --from-env docker context use $ENVIRONMENT_NAME # 生成CloudFormation模板,命令逻辑与原脚本一致 docker compose -f docker-compose.base.yml -f docker-compose.$ENVIRONMENT_NAME.yml --project-name $ECS_CLUSTER_NAME convert > cloudformation.yml
关键说明
- 移除旧安装步骤:删掉原脚本中安装
docker/compose-cli的curl命令,现在Docker Compose本身就支持ECS上下文管理。 - 版本要求:确保构建环境的Docker版本≥20.10.17,Docker Compose版本≥2.17.0——如果使用AWS CodeBuild官方镜像,选择
aws/codebuild/standard:7.0及以上版本即可满足需求,这类镜像已预装合规版本的工具。 - 命令兼容性:原有的
docker context和docker compose convert命令逻辑完全保留,无需修改参数,生成的CloudFormation模板内容与旧脚本一致。
内容的提问来源于stack exchange,提问作者HumpbackWhale194
相关产品推荐
相关产品推荐

