云原生构建包

可以使用云原生构建包直接从你的 Maven 或 Gradle 插件构建 Docker 镜像。如果你曾经使用过 Cloud Foundry 或 Heroku 等应用平台,那么你可能已经使用过构建包。构建包是平台的一部分,它负责获取你的应用程序并将其转换为平台实际可以运行的内容。例如,Cloud Foundry 的 Java 构建包会注意到你正在推送一个.jar文件,并自动添加相关的 JRE。

使用云原生构建包,你可以创建可在任何地方运行的与 Docker 兼容的镜像。Spring Boot 直接为 Maven 和 Gradle 提供了构建包支持。这意味着你可以只键入一条命令,就可以快速将一个合理的镜像放入你本地运行的 Docker 守护进程中。

请参阅各个插件文档,了解如何使用构建包与MavenGradle一起使用。

Paketo Spring Boot构建包支持layers.idx文件,因此应用于它的任何层级定制都将反映在构建包创建的镜像中。
为了实现可重复构建和容器镜像缓存,构建包可以操作应用程序资源元数据(例如文件的“上次修改”信息)。您应该确保您的应用程序在运行时不依赖于该元数据。Spring Boot在提供静态资源时可以使用该信息,但这可以通过spring.web.resources.cache.use-last-modified禁用。