我有一个非常简单的 spring boot
REST 应用程序的以下 Dockerfile
:
# Prepare runtime.
FROM openjdk:8-jre-alpine AS runtime
WORKDIR /app
EXPOSE 80
# Prepare build workspace.
FROM gradle:5.3.0-jdk-alpine AS sdk
WORKDIR /build-workspace
# Setup build workspace.
USER root
RUN chown -R gradle .
USER gradle
# Copy.
COPY build.gradle .
COPY gradle.properties .
COPY src ./src
# Build, Test and publish.
RUN gradle clean bootJar
# App image.
FROM runtime
COPY --from=sdk /build-workspace/build/libs/myApplication-0.0.1-SNAPSHOT.jar ./app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
我的 docker 文件位于项目的根目录中,在 build.gradle
等旁边。
当我运行时:
docker build -t myApplication .
我收到错误:
Step 14/15 : COPY --from=sdk /build-workspace/build/libs/myApplication-0.0.1-SNAPSHOT.jar ./app.jar COPY failed: stat /var/lib/docker/overlay2/e9441fe0b968bd5776ee860bbca780d6c2037fcf90cb67d01c3b1fd349d3996f/merged/build-workspace/build/libs/myApplication-0.0.1-SNAPSHOT.jar: no such file or directory
我的 docker 文件做错了什么?
最佳答案
您可以在 RUN gradle clean bootJar
之后添加 RUN ls -l/build-workspace/build/libs/
来查看该目录中的内容。
关于rest - Docker - 复制 JAR 文件 : no such file or directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59347146/