基于jib-maven-plugin插件快速构建微服务docker镜像的方法
作者:陶陶技术笔记
一、说明
本文介绍基于 Maven
插件 jib-maven-plugin
实现快速构建 Spring Boot
程序镜像,并推送到远程仓库中,且 「无需安装」 Docker
环境 。
Jib 是 Google 开发的一个无需 Docker 守护进程,也无需深入掌握 Docker 最佳实践的情况下,为 Java 应用程序构建 Docker 和 OCI 镜像,以 Maven 和 Gradle 插件形式提供。
二、插件使用
下图为插件的配置样例,构建后的镜像发布到阿里云仓库中(免费):
阿里云仓库配置以及用户名密码需要按照自己注册的信息进行修改
注册地址:https://cr.console.aliyun.com/
插件详细的配置可查看:https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin
配置中增加了 execution
进行触发,当 Maven
执行 package
命令时会自动构建并发布镜像:
登录阿里云容器镜像服务,即可查看我们发布的镜像:
三、总结
对于 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镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- 微服务链路追踪Spring Cloud Sleuth整合Zipkin解析
- Java微服务Filter过滤器集成Sentinel实现网关限流过程详解
- Java微服务分布式调度Elastic-job环境搭建及配置
- Java微服务Nacos Config配置中心超详细讲解
- SpringCloud微服务中跨域配置的方法详解
- Java Feign微服务接口调用方法详细讲解
- go微服务PolarisMesh源码解析服务端启动流程
- 微服务Spring Boot 整合 Redis 实现UV 数据统计的详细过程
- go-micro微服务JWT跨域认证问题
- 详解go-micro微服务consul配置及注册中心
- go-micro微服务domain层开发示例详解
- 微服务 Spring Boot 整合 Redis BitMap 实现 签到与统计功能
- 一文带你了解微服务架构中的"发件箱模式"
- go micro微服务框架项目搭建方法
- go micro微服务proto开发安装及使用规则
- spring Cloud微服务阿里开源TTL身份信息的线程间复用
- Mybatis与微服务注册的详细过程
- 简单介绍一下什么是microservice微服务