基于jib-maven-plugin插件快速构建微服务docker镜像的方法

一、说明

本文介绍基于 Maven 插件 jib-maven-plugin 实现快速构建 Spring Boot 程序镜像,并推送到远程仓库中,且 「无需安装」 Docker 环境 。

Jib 是 Google 开发的一个无需 Docker 守护进程,也无需深入掌握 Docker 最佳实践的情况下,为 Java 应用程序构建 Docker 和 OCI 镜像,以 Maven 和 Gradle 插件形式提供。

二、插件使用

下图为插件的配置样例,构建后的镜像发布到阿里云仓库中(免费):

基于jib-maven-plugin插件快速构建微服务docker镜像的方法_第1张图片

阿里云仓库配置以及用户名密码需要按照自己注册的信息进行修改

注册地址:https://cr.console.aliyun.com/

插件详细的配置可查看:https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

配置中增加了 execution 进行触发,当 Maven 执行 package 命令时会自动构建并发布镜像:

基于jib-maven-plugin插件快速构建微服务docker镜像的方法_第2张图片

登录阿里云容器镜像服务,即可查看我们发布的镜像:

基于jib-maven-plugin插件快速构建微服务docker镜像的方法_第3张图片

三、总结

对于 Java 程序来说使用 jib-maven-plugin 插件来构建镜像还是非常方便的。

与传统的 dockerfile 构建镜像的方式对比:

构建方式 dockerfile Jib
docker环境 需要 无需
dockerfile文件 需要 无需
构建复杂度 较复杂 很方便
灵活度 相对较高

「PS」:怎样通过 Jib 在构建镜像的时候实现 dockerfile 中的类似 RUN 之类的命令,如安装一个程序运行时所需要的字体?

「答」:不支持,但是解决方式也很简单,只需先基于 dockerfile 这种方式构建一个安装好所需字体的基础镜像,然后在 Jib 中通过 from 依赖这个镜像来构建微服务的镜像即可。

四、样例工程

集成 jib-maven-plugin 插件的样例 Spring Boot 工程:

  • https://gitee.com/zlt2000_admin/zlt-dubbo-samples/tree/master/dubbo-nacos

  • https://github.com/zlt2000/zlt-dubbo-samples/tree/master/dubbo-nacos

到此这篇关于基于jib-maven-plugin快速构建微服务docker镜像的方法的文章就介绍到这了,更多相关jib-maven-plugin构建微服务docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(基于jib-maven-plugin插件快速构建微服务docker镜像的方法)