docker-graalvm-maven 是一个基于 Debian stable-slim 的 Docker 镜像,专为使用 GraalVM native-image 特性构建 Java Maven 项目的原生 Linux 二进制文件而设计。该镜像每周自动构建,以集成最新的操作系统安全修复,确保构建环境的安全性和时效性。
stable-slim,提供轻量级、稳定的构建基础native-image 扩展,用于将 Java 应用编译为原生二进制文件native-image 构建流程从 Docker Hub 获取镜像(镜像名称:vegardit/graalvm-maven):
bash# 获取最新版本(默认指向最新 LTS Java 版本,如 17) docker pull vegardit/graalvm-maven:latest # 按 Java 版本选择 docker pull vegardit/graalvm-maven:11 # GraalVM CE Java 11 docker pull vegardit/graalvm-maven:17 # GraalVM CE Java 17 docker pull vegardit/graalvm-maven:20 # GraalVM CE Java 20
挂载本地 Maven 项目目录,执行原生构建:
bashdocker run --rm \ -v "$(pwd)":/app \ # 挂载当前项目目录到容器内 /app -w /app \ # 设置工作目录为 /app vegardit/graalvm-maven:latest \ mvn -Pnative package # 使用 Maven native profile 构建原生二进制文件
说明:构建产物(如
target/目录下的二进制文件)将输出到本地项目目录,因容器内/app与本地目录挂载关联。
如需在构建过程中与外部 Docker 守护进程交互(如构建 Docker 镜像),挂载 Docker 套接字:
bashdocker run --rm \ -v "$(pwd)":/app \ -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载 Docker 套接字 -w /app \ vegardit/graalvm-maven:latest \ mvn -Pnative,docker package # 假设项目包含 docker profile 用于构建镜像
构建后通过 upx 压缩原生二进制文件:
bashdocker run --rm \ -v "$(pwd)":/app \ -w /app \ vegardit/graalvm-maven:latest \ sh -c "mvn -Pnative package && upx --best target/*.bin" # 先构建再压缩
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429