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

部署Docker项目到AWS Elastic Beanstalk时docker pull maven命令执行失败

问题原因
  • 你的Elastic Beanstalk使用的Docker平台版本过旧,不支持Docker多阶段构建语法。旧版EB的部署逻辑会逐行解析Dockerfile的FROM指令,把FROM后面的所有内容都作为参数传给docker pull命令,导致你写的AS build也被当成了拉取镜像的参数,触发了docker pull参数数量不匹配的报错。
  • 本地Windows环境的Docker版本较新,原生支持多阶段构建语法,所以可以正常运行。
解决方案

方案1:升级EB Docker平台版本(推荐)

  • 重新创建EB环境时,选择基于Amazon Linux 2的最新版Docker平台,该版本原生支持Docker多阶段构建语法,不需要修改你现有的Dockerfile即可正常部署。
  • 你当前选择的application类型负载均衡适配Spring Boot HTTP服务,不需要改为network类型,该配置不是本次部署失败的原因。

方案2:拆分多阶段构建为单阶段(适配旧版平台)

如果暂时无法升级EB平台,可以调整构建逻辑,去掉多阶段语法:

  1. 本地先在项目根目录执行mvn clean package命令,打好可执行Jar包
  2. 修改Dockerfile内容为单阶段构建:
FROM openjdk:8
COPY target/my-project-host-0.0.1-SNAPSHOT.jar /usr/local/lib/my-project.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/usr/local/lib/my-project.jar"]
  1. 重新执行eb create部署即可。

内容的提问来源于stack exchange,提问作者mcool

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:06:02