我最近对Spring Boot的本机图像功能印象深刻。我考虑分享有关本地图像的一些信息。
我创建了两个简单的春季启动项目
1)弹簧与新生粉
2)春季 - 无国内plugin
除了主要班级外,我在两个项目中使用了相同的控制器。
我使用以下命令来创建Docker Images。
mvn spring-boot:build-image
(两个项目均基于Maven)
当我运行两个Docker图像时,我对应用程序启动时间感到惊讶。
两个Docker图像的尺寸也有显着差异。
那么,我们安装本机插件后发生了什么?
- 感谢Spring AOT流程,它执行了代码分析以确定不必要的代码。
- 在代码分析后,所有不必要的代码都被删除,并创建了本机映像。
现在,此本机图像不再依赖于JVM ,并且可以在没有JVM的情况下运行。
我们必须感谢@graalvm,使这一切成为可能。