小编PAw*_*l_Z的帖子

在 Docker 中构建缓慢的 gradle。缓存gradle构建

我正在做大学项目,我们需要一次运行多个 Spring Boot 应用程序。

我已经使用 gradle docker 镜像配置了多阶段构建,然后在 openjdk:jre 镜像中运行应用程序。

这是我的 Dockerfile:

FROM gradle:5.3.0-jdk11-slim as builder
USER root
WORKDIR /usr/src/java-code
COPY . /usr/src/java-code/

RUN gradle bootJar

FROM openjdk:11-jre-slim
EXPOSE 8080
WORKDIR /usr/src/java-app
COPY --from=builder /usr/src/java-code/build/libs/*.jar ./app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
Run Code Online (Sandbox Code Playgroud)

我正在使用 docker-compose 构建和运行所有内容。docker-compose 的一部分:

 website_server:
    build: website-server
    image: website-server:latest
    container_name: "website-server"
    ports:
      - "81:8080"
Run Code Online (Sandbox Code Playgroud)

当然,第一次构建需要很长时间。Docker 正在拉取它的所有依赖项。我对此没有意见。

目前一切正常,但代码中的每一个小变化都会导致一个应用程序的构建时间大约为 1 分钟。

构建日志的一部分: docker-compose up --build

Step 1/10 : FROM gradle:5.3.0-jdk11-slim as builder
 ---> 668e92a5b906
Step 2/10 : USER root
 ---> Using cache …
Run Code Online (Sandbox Code Playgroud)

java caching gradle docker gradlew

13
推荐指数
3
解决办法
1万
查看次数

标签 统计

caching ×1

docker ×1

gradle ×1

gradlew ×1

java ×1