【发布时间】:2020-07-28 07:13:14
【问题描述】:
我尝试使用 dockerfile 构建 maven 项目,但是当我使用命令 docker build 时出现此错误
/bin/sh: 1: ./mvnw: not found
我曾尝试过这个解决方案: Unable to run './mvnw clean install' when building docker image based on "openjdk:8-jdk-alpine" for Spring Boot app
但还是有错误。
这是我的 dockerfile
# Stage 1 Build the Spring Project into a jar file
FROM openjdk:8-slim as builder
RUN mkdir src
COPY . /src
WORKDIR /src
RUN chmod 700 mvnw && ./mvnw clean install package ==>error on this line
# Stage 2 Run the jar file from previous build
FROM openjdk:8-jdk-alpine
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
COPY --from=builder /src/target /build
WORKDIR /build
EXPOSE 80
EXPOSE 5001
ENTRYPOINT ["java", "-jar", "tax-0.0.1-SNAPSHOT.jar"]
我错过了什么吗? 我很乐意提供任何帮助。
【问题讨论】:
-
你可以试试,“RUN chmod 700 mvnw && mvnw clean install package ==>error on this line”没有“./”
-
@JMadushan:我已经尝试过了,但是得到 /bin/sh: 1: mvnw: not found
-
我猜你没有将 maven wrapper (mvnw) 复制到图像中。您可以在“WORKDIR /src”行之后运行“RUN ls”来检查它。
-
@JMadushan : 添加 run ls 后,我得到如下文件列表,Compiler, Dockerfile, mvnw, mvnw.cmd, pom.xml, src, target,这是什么意思吗?对不起,我是 docker 的新手,