You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Elastic Beanstalk部署含.ebextensions的Docker Compose压缩包失败问题咨询

AWS Elastic Beanstalk部署含.ebextensions的Docker Compose压缩包失败问题咨询

我来帮你分析下这个问题~

你当前的场景是:在AWS Elastic Beanstalk上运行基于64位Amazon Linux 2/3.8.1的Docker环境,单独上传docker-compose.yml文件时部署正常,但把该文件和.ebextensions目录放在production文件夹里压缩成production.zip上传时,就会收到错误提示:

Instance deployment: Both 'Dockerfile' and 'Dockerrun.aws.json' are missing in your source bundle. Include at least one of them. The deployment failed.

问题原因

核心在于Elastic Beanstalk的部署包结构检测逻辑:EB会默认在压缩包的根目录中查找Docker相关的核心配置文件(比如docker-compose.yml、Dockerfile或Dockerrun.aws.json)。

你当前的压缩包结构是这样的:

production.zip
└── production
    ├── .ebextensions
    └── docker-compose.yml

EB扫描压缩包根目录时,只能看到production文件夹,找不到它需要的docker-compose.yml,因此触发了错误提示。而单独上传docker-compose.yml时,文件处于压缩包(或直接上传的文件)的根目录,EB可以正常识别。

解决方法

调整压缩方式即可:

  • 进入到production目录内部,直接选中.ebextensions文件夹和docker-compose.yml这两个内容进行压缩,不要把整个production目录作为压缩对象。

调整后的压缩包结构会变成:

deploy.zip
├── .ebextensions
└── docker-compose.yml

这样EB就能在压缩包根目录找到docker-compose.yml,同时也能加载.ebextensions里的日志转发配置,顺利完成部署。

备注:内容来源于stack exchange,提问作者Luke Rayner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 07:44:35