maven打包docker镜像
前言
新建项目时pom.xml的项目依赖配置不需要记,直接新建个项目选择native,spring就会把相应的版本适配处理好。
构建docker镜像指令
使用下面的指令在项目根路径直接执行,就可以生成docker镜像,此处有个前提条件,就是当前机器上有docker环境
我们这里暂时不讨论其他的镜像构建方式,仅仅讨论以下面脚本构建镜像时,项目是否引用spring native造成的影响。
# 基于本地maven
mvn spring-boot:build-image
# 基于项目maven wrapper
mvnw spring-boot:build-image
添加spring native
spring官方的说法是这个会更加的云原生,处理spring运行所必要的java相关环境,jdk里面别的都不会有。
所以这个构建出来的包会更小,需要注意的是这个与 spring-boot-devtools 是冲突的,用spring native就不能用spring-boot-devtools。而且他的构建速度比较慢
不添加spring native
直接直接上面的指令也是可以生成docker镜像的,就是镜像文件比较大,但是有个有点是他的构建速度会快很多
结论
是否包含spring native依赖 | 是 | 否 |
---|---|---|
镜像构建速度 | 慢 | 快 |
镜像文件大小 | 小 | 大 |