我有以下git commit -n
:
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
# Accept build args.
ARG ORG_GRADLE_PROJECT_mavenUser
ARG ORG_GRADLE_PROJECT_mavenPassword
# 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 build bootJar
# App image.
FROM runtime
COPY /build/libs/myApp-0.0.1-SNAPSHOT.jar ./app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
MVC网络应用,并且spring boot
位于dockerfile
等旁边的根目录中
当我跑步时:
build.gradle
我得到:
docker build -t myApp .
当我首先使用gradle在本地构建应用程序时,dockerfile可以工作-大概可以看到构建文件夹。
如何更改我的dockerfile,以便不需要本地构建?
答案 0 :(得分:0)
使用COPY --from=sdk /build-workspace/libs/myApp-0.0.1-SNAPSHOT.jar ./app.jar
使用--from=sdk
,您正在告诉Docker从gradle构建阶段复制文件,如果没有,则Docker将从您的本地文件系统复制文件。
有关更多信息,see