Zve*_*tko 6 build maven docker
是否可以在不安装docker的情况下构建映像。在我的项目的Maven构建中,我想生成docker映像,但是我不想强迫其他人在他们的机器上安装docker。
我可以想到一些安装了docker的虚拟盒子映像,但这是一个沉重的解决方案。是否有某种方法可以仅使用某些Maven插件,一些Go代码或已为此目的准备好的虚拟盒映像来构建映像?
归根结底是质疑如何使用docker而不强迫用户安装任何东西。仅用于构建,甚至用于运行docker映像。
更新
有一些(不是最新的)用于通过vagrant或vbox进行虚拟机置备的Maven插件。我发现了有关在巴塞尔上不使用docker构建docker映像的文章 到目前为止,我看到了两个选择,要么我可以以某种方式仅构建映像,要么在内部运行带有docker daemon的VM(这不仅可以用于构建,甚至可以用于集成测试)
我们可以在不安装Docker的情况下创建Docker映像。
Jib Maven和Gradle插件
Google有一个名为Jib的开源工具,它相对较新,但出于多种原因却很有趣。可能最有趣的是您不需要docker来运行它-它使用与从docker build获得的相同的标准输出来构建映像,但是除非您要求,否则不使用docker-因此它可以在以下环境中工作未安装docker(在构建服务器中并不罕见)。您也不需要Dockerfile(无论如何都会被忽略)或pom.xml中的任何内容来获取在Maven中构建的映像(Gradle要求您至少在build.gradle中安装插件)。
Jib的另一个有趣的功能是,它对层有所了解,并且以与上面创建的多层Dockerfile稍有不同的方式优化了它们。就像在胖子罐中一样,Jib将本地应用程序资源与依赖项分离开来,但它走得更远,而且还将快照依赖项放入一个单独的层中,因为它们更容易发生变化。有一些配置选项可用于进一步自定义布局。
请参阅此链接https://cloud.google.com/blog/products/gcp/introducing-jib-build-java-docker-images-better
例如使用Spring Boot,请参阅https://spring.io/blog/2018/11/08/spring-boot-in-a-container
| 归档时间: |
|
| 查看次数: |
4161 次 |
| 最近记录: |