docker maven库没有复制到/root/.m2



根据docker maven图像文档,

$MAVEN_CONFIG目录(默认为/root/.m2)可以配置为因此,在构建时在Dockerfile中复制的任何内容都会丢失。因此,目录/usr/share/maven/ref/存在该目录将在容器启动时复制到$MAVEN_CONFIG。

在容器启动时将/usr/share/maven/ref/的内容复制到/root/.m2。我正在使用如下的Dockerfile

FROM maven:3.6.3-adoptopenjdk-8
COPY pom.xml /tmp/pom.xml
RUN mvn -B -f /tmp/pom.xml -s /usr/share/maven/ref/settings-docker.xml install
WORKDIR /app
COPY pom.xml /app/
COPY ./src /app/src
ENTRYPOINT ["mvn","test"]

上面的dockerfile构建了一个映像,其中依赖项存储在/usr/share/maven/ref/repository中。但是,当容器启动时,不会将内容复制到/root/.m2,并且完全重新下载依赖项。

我在这里错过了什么吗?是否需要运行任何特殊步骤来复制存储库内容?

对于要复制的存储库,应该调用父图像的入口点。

Dockerfile有如下内容:

入口点("/usr/地方/bin/mvn-entrypoint.sh"]

CMD ["mvn", "test"]

ENTRYPOINT与docker maven映像的入口点相同。它具有将存储库复制到$MAVEN_CONFIG(默认为/root/.m2)的逻辑

最新更新