s390x/maven是针对IBM z/Architecture(s390x)平台构建的官方Maven镜像的特定架构仓库。Maven是一个软件项目管理和理解工具,基于项目对象模型(POM)的概念,能够从中央信息管理项目的构建、报告和文档。
该镜像提供了在s390x架构上运行Maven的便捷方式,无需在主机系统上安装Maven和Java开发环境,简化了项目构建流程并确保环境一致性。
可以直接使用Maven Docker镜像运行Maven项目,将Maven命令传递给docker run:
console$ docker run -it --rm --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven s390x/maven:latest mvn clean install
参数说明:
-it:交互式终端--rm:容器退出后自动删除--name my-maven-project:指定容器名称-v "$(pwd)":/usr/src/mymaven:将当前目录挂载到容器内的工作目录-w /usr/src/mymaven:设置容器内的工作目录s390x/maven:latest:使用的镜像及标签mvn clean install:要执行的Maven命令这是一个基础镜像,包含最基本的必要软件包。如果需要添加自定义软件包到Dockerfile,可以按以下方式构建本地Docker镜像:
console$ docker build --tag my_local_s390x/maven:3.5.2-jdk-8 .
可以通过创建卷并将其挂载到/root/.m2来跨容器重用本地Maven仓库:
console# 创建一个命名卷 $ docker volume create --name maven-repo # 首次运行会下载依赖项 $ docker run -it -v maven-repo:/root/.m2 s390x/maven mvn archetype:generate # 后续运行会重用已下载的依赖项 $ docker run -it -v maven-repo:/root/.m2 s390x/maven mvn archetype:generate
或者,可以使用主机的.m2缓存目录,与Eclipse/IDEA等IDE共享:
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 \ s390x/maven \ mvn clean package
$MAVEN_CONFIG目录(默认为/root/.m2)可以配置为卷,因此在构建时复制到该目录的任何内容都会丢失。为此,存在/usr/share/maven/ref/目录,该目录中的任何内容都会在容器启动时复制到$MAVEN_CONFIG。
要创建预打包的仓库,创建一个包含所需依赖项的pom.xml,并在Dockerfile中使用:
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/
Maven需要用户主目录来下载工件,如果镜像中不存在该用户,则需要设置user.homeJava属性:
console$ docker run -v ~/.m2:/var/maven/.m2 -ti --rm -u 1000 -e MAVEN_CONFIG=/var/maven/.m2 s390x/maven mvn -Duser.home=/var/maven archetype:generate
创建docker-compose.yml文件:
yamlversion: '3' services: maven: image: s390x/maven:latest volumes: - .:/usr/src/mymaven - maven-repo:/root/.m2 working_dir: /usr/src/mymaven command: mvn clean install volumes: maven-repo:
使用以下命令启动:
console$ docker-compose up
查看此镜像中包含的软件的许可证信息。
与所有Docker镜像一样,此镜像可能还包含其他软件,这些软件可能具有其他许可证(如基础发行版中的Bash等)。
可在https://github.com/docker-library/repo-info/blob/master/repos/maven%E4%B8%AD%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E8%83%BD%E5%A4%9F%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E9%A2%9D%E5%A4%96%E8%AE%B8%E5%8F%AF%E8%AF%81%E4%BF%A1%E6%81%AF%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对其中包含的所有软件的使用符合任何相关许可证的要求。
以下是 s390x/maven 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务