i386/maven注意: 这是 maven官方镜像 的 i386 架构构建的“每架构”仓库——更多信息,请参见官方镜像文档中的 "除amd64之外的架构?" 和官方镜像FAQ中的 "Git中的镜像源已更改,现在该怎么办?"。
维护者:
Carlos Sanchez
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接警告: 此镜像在 i386 架构上不受支持
提交问题:
[***]
支持的架构: (更多信息)
amd64、arm32v7、arm64v8、ppc64le、riscv64、s390x
已发布镜像 artifact 详情:
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 i386/maven:3.3-jdk-8 mvn clean install
这是一个可扩展的基础镜像,仅包含最基本的所需包。如果您在 Dockerfile 中添加了自定义包,可以按以下方式构建本地 Docker 镜像:
console$ docker build --tag my_local_i386/maven:3.5.2-jdk-8 .
通过创建卷并将其挂载到 /root/.m2,可以跨容器重用本地 Maven 仓库。
console$ docker volume create --name maven-repo $ docker run -it -v maven-repo:/root/.m2 i386/maven mvn archetype:generate # 将下载 artifacts $ docker run -it -v maven-repo:/root/.m2 i386/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 i386/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.home Java 属性。
例如,以用户 1000 身份运行并挂载主机的 Maven 仓库:
console$ docker run -v ~/.m2:/var/maven/.m2 -ti --rm -u 1000 -e MAVEN_CONFIG=/var/maven/.m2 i386/maven mvn -Duser.home=/var/maven archetype:generate
查看此镜像中包含的软件的 许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证(如基础发行版中的 Bash 等,以及包含的主要软件的任何直接或间接依赖项)约束。
一些能够自动检测到的额外许可证信息可能位于 repo-info 仓库的 maven/ 目录 中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用都符合其中包含的所有软件的相关许可证。

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