vegardit/graalvm-mavendocker-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" # 先构建再压缩

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