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