简体   繁体   English

在 docker 容器内构建 maven 项目

[英]Build maven project inside docker container

I'm having some problems while trying to build a mvn project inside a Docker container.我在尝试在 Docker 容器中构建 mvn 项目时遇到了一些问题。 Everytime I try to build using the following Dockerfile, I get this error:每次我尝试使用以下 Dockerfile 构建时,我都会收到此错误:

[10/10] COPY target/*.jar app.jar:
------
lstat /var/lib/docker/tmp/buildkit-mount9100795/target: no such file or directory

My current Dockerfile:我现在的Dockerfile:

FROM maven:3.8.1-openjdk-17 as builder
COPY src /tmp/src/
COPY pom.xml /tmp/
WORKDIR /tmp/
RUN mvn clean install


FROM maven:3.8.1-openjdk-17
WORKDIR /tmp/app
COPY target/*.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","app.jar"]

I've found the correct configurations for the dockerfile and relative paths.我找到了 dockerfile 和相对路径的正确配置。 Since I've set the WORKDIR for the buider as /tmp/ my target folder was being generated at /tmp/target/ , so specifying the source files with the ---from=builder tag, and updating the path, I was able to succesfully copy the .jar file由于我已将构建器的 WORKDIR 设置为/tmp/我的目标文件夹是在/tmp/target/生成的,因此使用---from=builder标记指定源文件并更新路径,我能够成功复制.jar文件

My current working dockerfile:我目前的工作 dockerfile:

FROM maven:3.8.1-openjdk-17 as builder
COPY src /tmp/src/
COPY pom.xml /tmp/
WORKDIR /tmp/
RUN mvn clean install


FROM maven:3.8.1-openjdk-17
COPY --from=builder /tmp/target/*.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","app.jar"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM