相关疑难解决方法(0)

如何在Docker Multi Stage Build Layer中缓存Maven依赖项和插件?

我想在Docker Multi Stage Build的构建阶段的一层中缓存Maven依赖项。

我的Dockerfile如下所示:

FROM maven:3-jdk-8 as mvnbuild
RUN mkdir -p /opt/workspace
WORKDIR /opt/workspace
COPY pom.xml .
RUN mvn -B -s /usr/share/maven/ref/settings-docker.xml dependency:resolve
COPY . .
RUN mvn -B -s /usr/share/maven/ref/settings-docker.xml package

FROM openjdk:8-jre-alpine
...
Run Code Online (Sandbox Code Playgroud)

```

我基于Docker Multi Stage Build博客文章也在Github上提供)中提供的示例创建了该Dockerfile 。

当我运行构建时,没有看到一次下载了依赖项dependency:resolve,然后再重复使用package,而是看到了两个步骤都下载了依赖项。

有人有这个工作吗?我在这里做错了什么?

build maven docker dockerfile docker-multi-stage-build

5
推荐指数
2
解决办法
3592
查看次数