Cloud Native Buildpacks

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

使用 Cloud Native Buildpacks,您可以创建可以在任何地方运行的 Docker 兼容镜像。 Spring Boot 直接为 Maven 和 Gradle 提供 buildpack 支持。 这意味着您只需输入一个命令,就可以快速在本地运行的 Docker 守护进程中获得一个合理的镜像。

有关如何使用 buildpacks 的详细信息,请参阅 MavenGradle 的插件文档。

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