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