我想在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
...
```
我基于Docker Multi Stage Build 博客文章(也可在 Github 上获得)中提供的示例构建了这个 Dockerfile 。
当我运行构建时,我看到的是两个步骤都下载的依赖项,而不是看到下载一次dependency:resolve
然后重新使用的依赖项。package
有没有人有这个工作?我在这里做错了什么?