Docker多阶段构建使用--from标签报错,请求技术支持
问题原因与解决办法
核心错误原因
你在Dockerfile第16行的COPY命令中,错误地将--from参数的等号(=)写成了冒号(:)。Docker会把from:builder识别为一个未知的命令行flag,从而抛出unknown flag: from:builder错误。
修复步骤
修正COPY命令的参数格式
将第16行的:COPY --from:builder /app/${JAR_FILE} app.jar修改为:
COPY --from=builder /app/${JAR_FILE} app.jar额外优化:修正Maven命令顺序
你的RUN mvn package clean命令顺序有误,clean会删除打包生成的文件,导致后续COPY步骤找不到jar包。应该调整为:RUN mvn clean package
修复后的完整Dockerfile
FROM maven:latest AS builder WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn clean package FROM openjdk:21-jdk-slim VOLUME /tmp ARG JAR_FILE=target/spring-mysql-0.0.1-SNAPSHOT.jar COPY --from=builder /app/${JAR_FILE} app.jar ENTRYPOINT ["java", "-jar", "app.jar"]
内容的提问来源于stack exchange,提问作者Al-Anazi
相关产品推荐
相关产品推荐

