【发布时间】:2018-06-06 18:04:52
【问题描述】:
我想在我的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 blog post (also available on Github) 中提供的示例创建了这个 Dockerfile。
当我运行构建时,我看到的不是dependency:resolve 下载一次然后被package 重新使用的依赖项,而是看到两个步骤都下载了依赖项。
有人搞定这个吗?我在这里做错了什么?
【问题讨论】:
标签: maven docker build dockerfile docker-multi-stage-build