【发布时间】:2021-06-14 23:58:49
【问题描述】:
我在 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 文件。
【问题讨论】:
-
尝试删除目录的初始斜线。添加目标/xyz.jar .
-
已经尝试过了,但仍然面临同样的问题..我仍然想知道为什么 Dockerfile 引用 /var/lib 路径而不是 /opt 或 Dockerfile 位置
-
尝试运行
./mvnw clean package首先构建项目 -
由于有斜线,路径将来自根。此外,您提供的 WORKDIR 是容器上的目录,而不是本地系统上的目录。
标签: java spring-boot docker dockerfile devops