为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Docker 镜像的能力。这会影响启动时间,尤其是在集装箱环境中。我们可以通过添加jar文件的分解内容来节省启动时间。Spring Boot fat jar 的特性使得所有的应用程序代码和第三方库都放在一个层中。这样,我们便可以利用Docker的缓存机制。例如,给定一个Spring Boot fat jar,一个buildpack将为我们提供Java运行时。这使我们可以跳过 Dockerfile 并自动获得一个合理的docker 镜像。Spring Boot 包括对 bulidpacks 的Maven和Gradle支持。它负责分析我们的项目并确定所需的框架和库。buildpacks 的一大特点是Docker映像是多层的。基于这些原因,Spring Boot 还支持使用分层jars 构建Docker映像。为了了解它的工作原理,让我们看看一个典型的Spring Boot fat jar 布局:fat jar 由3个主要区域组成:
暂无评论