关于春季靴子本地图像
#java #docker #本地的 #spirngboot

我最近对Spring Boot的本机图像功能印象深刻。我考虑分享有关本地图像的一些信息。

我创建了两个简单的春季启动项目
1)弹簧与新生粉
2)春季 - 无国内plugin

除了主要班级外,我在两个项目中使用了相同的控制器。

Hello World Controller

我使用以下命令来创建Docker Images。

mvn spring-boot:build-image 

(两个项目均基于Maven)

当我运行两个Docker图像时,我对应用程序启动时间感到惊讶。

Spring-Without-native

Spring-with-native

两个Docker图像的尺寸也有显着差异。

memory-deference

那么,我们安装本机插件后发生了什么?

  • 感谢Spring AOT流程,它执行了代码分析以确定不必要的代码。
  • 在代码分析后,所有不必要的代码都被删除,并创建了本机映像。

现在,此本机图像不再依赖于JVM ,并且可以在没有JVM的情况下运行。

我们必须感谢@graalvm,使这一切成为可能。