繁体   English   中英

docker maven 存储库未复制到 /root/.m2

[英]docker maven repository not copied to /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/local/bin/mvn-entrypoint.sh"]

CMD [“mvn”,“测试”]

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM