Cloud Native Buildpacks

Dockerfile 只是建置 Docker 映像檔的一種方法。另一種方法是直接使用建置包 (Buildpack) 從您的 Maven 或 Gradle 外掛程式建置 Docker 映像檔。如果您曾經使用過像是 Cloud Foundry 或 Heroku 之類的應用程式平台,那麼您可能已經使用過建置包。建置包是平台的一部分,它會取得您的應用程式並將其轉換為平台實際可以執行的內容。例如,Cloud Foundry 的 Java 建置包會注意到您正在推送一個 .jar 檔案,並自動新增相關的 JRE。

使用 Cloud Native Buildpacks,您可以建立可在任何地方執行的 Docker 相容映像檔。Spring Boot 直接包含了 Maven 和 Gradle 的建置包支援。這表示您只需輸入單一指令,即可快速將合理的映像檔放入您在本機執行的 Docker daemon 中。

請參閱個別外掛程式文件,了解如何將建置包與 MavenGradle 搭配使用。

Paketo Spring Boot 建置包 支援 layers.idx 檔案,因此對其套用的任何自訂設定都將反映在建置包建立的映像檔中。
為了實現可重現的建置和容器映像檔快取,建置包可以操作應用程式資源中繼資料(例如檔案「上次修改」資訊)。您應該確保您的應用程式在執行階段不依賴該中繼資料。Spring Boot 可以在提供靜態資源時使用該資訊,但可以使用 spring.web.resources.cache.use-last-modified 將其停用。