arm32v6/maven这是官方maven镜像的arm32v6架构构建的"每架构"仓库——更多信息请参见官方镜像文档中的"非amd64架构?"和官方镜像FAQ中的"Git中镜像源已更改,该怎么办?"。
维护者:
Carlos Sanchez
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接警告:此镜像在arm32v6架构上不受支持
问题提交地址:
[***]
支持的架构:(更多信息)
amd64、arm32v7、arm64v8、ppc64le、riscv64、s390x
已发布镜像工件详情:
repo-info仓库的repos/maven/目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/maven标签
official-images仓库的library/maven文件 (历史记录)
本描述的来源:
docs仓库的maven/目录 (历史记录)
Apache Maven是一款软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从中央信息管理项目的构建、报告和文档。
!logo
您可以直接使用Maven Docker镜像运行Maven项目,通过docker run传递Maven命令:
console$ docker run -it --rm --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven arm32v6/maven:3.3-jdk-8 mvn clean install
这是一个可扩展的基础镜像,仅包含必要的软件包。如果在Dockerfile中添加自定义软件包,可以按以下方式构建本地Docker镜像:
console$ docker build --tag my_local_arm32v6/maven:3.5.2-jdk-8 .
通过创建卷并将其挂载到/root/.m2,可以跨容器重用本地Maven仓库。
console$ docker volume create --name maven-repo $ docker run -it -v maven-repo:/root/.m2 arm32v6/maven mvn archetype:generate # 将下载 artifacts $ docker run -it -v maven-repo:/root/.m2 arm32v6/maven mvn archetype:generate # 将重用已下载的 artifacts
或者,您可以使用与Eclipse/IDEA等工具共享的本地.m2缓存目录:
console$ docker run -it --rm -v "$PWD":/usr/src/mymaven -v "$HOME/.m2":/root/.m2 -v "$PWD/target:/usr/src/mymaven/target" -w /usr/src/mymaven arm32v6/maven mvn clean package
$MAVEN_CONFIG目录(默认为/root/.m2)可配置为卷,因此在构建时复制到该目录的任何内容都会丢失。为此,存在/usr/share/maven/ref/目录,容器启动时会将该目录中的所有内容复制到$MAVEN_CONFIG。
要创建预打包仓库,创建包含所需依赖的pom.xml并在Dockerfile中使用。/usr/share/maven/ref/settings-docker.xml是将本地仓库更改为/usr/share/maven/ref/repository的设置文件,但您也可以使用自己的设置文件,只要它将/usr/share/maven/ref/repository用作本地仓库。
dockerfileCOPY pom.xml /tmp/pom.xml RUN mvn -B -f /tmp/pom.xml -s /usr/share/maven/ref/settings-docker.xml dependency:resolve
要将自定义settings.xml文件添加到镜像中:
dockerfileCOPY settings.xml /usr/share/maven/ref/
有关示例,请查看tests目录。
Maven需要用户主目录来下载artifacts,如果镜像中不存在该用户,则需要设置额外的user.homeJava属性。
例如,以用户1000身份运行并挂载主机的Maven仓库:
console$ docker run -v ~/.m2:/var/maven/.m2 -ti --rm -u 1000 -e MAVEN_CONFIG=/var/maven/.m2 arm32v6/maven mvn -Duser.home=/var/maven archetype:generate
查看此镜像中包含的软件的许可证信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证(如基础发行版中的Bash等,以及包含的主要软件的任何直接或间接依赖项)约束。
一些能够自动检测到的其他许可证信息可能位于repo-info仓库的maven/目录中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用都符合其中包含的所有软件的相关许可证。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务