gpt4 book ai didi

java - Dockerfile 添加命令无法找到目标文件夹

转载 作者:行者123 更新时间:2023-12-04 07:56:35 24 4
gpt4 key购买 nike

我在 Spring Boot 应用程序的根目录中有一个 Dockerfile,并且在相同的路径中有一个目标文件夹,如下结构所示:

|--src
|--main
|--com.abc.myApp
|--target/xyz.jar
|--Dockerfile
|--pom.xml
我的 Dockerfile 如下所示:
From openjdk:8-jdk-alpine
WORKDIR /opt
ADD /target/xyz.jar .
当我尝试使用以下命令执行时:
docker build . -t xyz
我收到如下错误:
Step 3/3 : ADD /target/xyz.jar .
ADD failed: stat /var/lib/docker/tmp/docker-builder225663872/target/xyz.jar: no such file or directory
Dockerfile 位于/opt/MyApp/Dockerfile,目标文件夹位于/opt/MyApp/target/xyz.jar
我哪里错了?我也没有 .dockerignore文件。

最佳答案

由于 jar 文件还将包含版本号,因此您最好使用此解决方案

FROM openjdk:8-jdk-alpine

ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar

ENTRYPOINT ["java","-jar","/app.jar"]
ARG 存在是因为 COPY 不适用于通配符。
正如已经评论过的,你必须先打电话:
mvn package
请阅读有关 Spring Boot 和 Docker 的更多信息: https://spring.io/guides/gs/spring-boot-docker/
从 Spring 2.3 开始,您甚至不需要 Dockerfile。你可以跑
mvn spring-boot:build-image
另请阅读: https://www.baeldung.com/dockerizing-spring-boot-application

关于java - Dockerfile 添加命令无法找到目标文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66676612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com