云原生构建包
Docker 镜像可以直接通过你的 Maven 或 Gradle 插件使用 Cloud Native Buildpacks 来构建。如果你曾经使用过 Cloud Foundry 或 Heroku 等应用平台,那么你可能已经使用过 buildpack。Buildpacks 是平台的一部分,它将你的应用程序转换为平台实际可以运行的东西。例如,Cloud Foundry 的 Java buildpack 会注意到你正在推送一个 .jar
文件,并自动添加一个相关的 JRE。
借助 Cloud Native Buildpacks,您可以创建可在任何地方运行的 Docker 兼容镜像。Spring Boot 直接支持 Maven 和 Gradle 的构建包。这意味着您只需键入一个命令,即可快速将合理的镜像推送到本地运行的 Docker 守护进程中。
备注
Paketo Spring Boot 构建包 支持 layers.idx
文件,因此对其应用的任何 层定制 都会反映在构建包生成的镜像中。
备注
为了实现可重复的构建和容器镜像缓存,buildpacks 可以操作应用程序资源的元数据(例如文件的“最后修改”信息)。你应该确保你的应用程序在运行时不会依赖这些元数据。Spring Boot 在提供静态资源时可能会使用这些信息,但可以通过 spring.web.resources.cache.use-last-modified
来禁用此功能。