Docker分阶段构建
Docker分阶段构建
Docker分阶段构建
开发哥写的代码在本地编译运行能通过,代码提交之后由Jenkins触发构建,编译也成功了,但是到容器里运行就不行了:
开发哥说遇到过这个错误,是打包的问题。因为服务器上跑了高版本的Jenkins,JDK的版本是21,Maven也是高版本的3.9.9。那肯定就是这俩的问题了。
Docker的优点就是环境隔离,于是我们可以在容器中构建。这里有个小tips,就是可以使用分阶段构建(Multi-Stage Builds),这样编译程序的缓存和工具不会存在于我们运行程序的容器中,可以减少容器大小。
效果对比
上面是没有使用分阶段构建的,下面是使用了分阶段构建的,效果还是很明显的。
本文由作者按照
CC BY 4.0
进行授权