Gradle build in Docker File



我试图在里面运行我的DockerFile和Gradle build。我已经尝试了所有的方法来做这件事,但就是不明白。这是我的dockerFile它工作正常,但不要做gradle BUILD,有人能帮助我吗:

FROM gradle:4.7.0-jdk8-alpine AS build
COPY . /temp
RUN gradle build --no-daemon
FROM  java:8-jdk AS TEMP_BUILD_IMAGE
COPY . /tmp
EXPOSE 8080
ENTRYPOINT  ["java", "-jar", "/app.jar"]

输出为

'<unknown> Dockerfile: DockerFile' has been deployed successfully.

但它不是为我构建Gradle。p.s.我是新的DOCKER,也许我在我的DOCKER文件做错了东西

您需要了解这里的多级构建。

FROM gradle:4.7.0-jdk8-alpine AS build
COPY . /temp
RUN gradle build --no-daemon

这将创建一个docker容器,将完整的docker构建上下文复制到容器中并运行gradle。您没有显示完整的控制台输出,所以我只能猜测运行成功。而且你也没有展示你的身材。没有人可以告诉你在哪里搜索编译结果。

FROM  java:8-jdk AS TEMP_BUILD_IMAGE
COPY . /tmp
EXPOSE 8080
ENTRYPOINT  ["java", "-jar", "/app.jar"]

用这些行创建下一阶段的docker容器,并再次将项目复制到容器中。但是我没有看到您将构建输出从第一阶段传输到第二阶段。由于缺少这个,生成的容器当然不包含构建结果,并且您认为它没有发生。

你需要添加一行,如

COPY --from=build /whateverPointsToYourBuildOutput /whereverYouWantItInTheContainer

看到https://docs.docker.com/engine/reference/builder/复制

相关内容

  • 没有找到相关文章

最新更新