【问题标题】:Build maven project inside docker container在 docker 容器中构建 maven 项目
【发布时间】:2023-01-10 02:22:37
【问题描述】:

我在尝试在 Docker 容器内构建 Maven 项目时遇到了一些问题。每次我尝试使用以下 Dockerfile 进行构建时,都会收到此错误:

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

我当前的 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"]

【问题讨论】:

  • 尝试使用 app.jar 的绝对路径。也许副本和入口点使用不同的工作目录

标签: java docker maven


【解决方案1】:

我找到了 dockerfile 和相对路径的正确配置。由于我已将构建器的 WORKDIR 设置为 /tmp/,我的目标文件夹是在 /tmp/target/ 生成的,因此使用 ---from=builder 标记指定源文件,并更新路径,我能够成功复制 @ 987654324@文件

我当前的工作 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"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2022-07-07
    • 2022-07-22
    相关资源
    最近更新 更多