原生编译的 Java 微服务:从构建到测试的全面指南
1. 构建 Docker 镜像
可以使用现有的 Gradle 任务 bootBuildImage 来创建 Docker 镜像。若在构建文件中声明了 GraalVM 的 Gradle 插件, bootBuildImage 任务将创建一个包含原生镜像的 Docker 镜像,而非使用应用 JAR 文件和 Java VM 的镜像。原生镜像将在 Docker 容器中构建,以确保其适用于 Linux 系统。使用 bootBuildImage 任务时,无需安装 GraalVM 的原生镜像编译器,该任务会使用 buildpacks 而非 Dockerfile 来创建 Docker 镜像。
Spring Boot 使用 Paketo 项目的 buildpacks 来创建 OCI 镜像。不过,在撰写本文时,Paketo 的 buildpacks 不支持 arm64 架构,包括 Apple silicon。虽然基于 amd64(Intel)的 buildpacks 技术上可以在配备 Apple silicon 的 MacBook 上运行,但速度极慢。可以使用非官方的 arm64 Docker 镜像作为临时解决方案,这些镜像可在 https://hub.docker.com/r/dashaun/builder-arm 找到。
创建本地操作系统的原生镜像比创建 Docker 镜像更快,因此在最初尝试成功构建原生镜像
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



