一、说明

本文介绍基于 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 工程:

扫码关注有惊喜!

最新文章

  1. Java 反射 使用总结
  2. IOS - socket 编程初体验
  3. 为speedphp最新版添加 仿Yii 的简易版 数据验证 支持不同场景,自定义回调
  4. codeforces 711A A. Bus to Udayland(水题)
  5. 2015ACM/ICPC亚洲区长春站 B hdu 5528 Count a * b
  6. linux服务之drbd
  7. php常用单词语法
  8. 将MVC中的Controllers、Model和View分别放到单独的项目中
  9. C++面试中string类的一种正确写法
  10. oracle实现自加力id
  11. iOS客户端开发与Web前端开发
  12. jquery-scrollstop
  13. 从零开始系列之vue全家桶(2)安装调试插件vue Devtools
  14. VMware虚拟机安装Linux系统后IP配置(二)
  15. ubuntu server命令行搭建虚拟专用网
  16. Asp.net core (学习笔记 路由和语言 route & language)
  17. Http put与post区别
  18. WWF3.5SP1 参考源码索引
  19. Codeforces Round #222 (Div. 1) A. Maze dfs
  20. (数据挖掘-入门-3)基于用户的协同过滤之k近邻

热门文章

  1. MySQL数据库:7、SQL常用查询语句
  2. Python: 对程序做性能分析及计时统计
  3. HashMap为何线程不安全?HashMap,HashTable,ConcurrentHashMap对比
  4. 【大数据-课程】高途-天翼云侯圣文-Day2:离线数仓搭建分解
  5. mysql报错:【系统出错。发生系统错误 1067。进程意外终止。】解决
  6. 连表操作join 子查询 SQL补充 数据库软件navicat pymysql模块
  7. django框架(部分讲解)
  8. 搭建漏洞环境及实战——在Windows系统中安装WAMP
  9. ob-myfreemp3
  10. 浅聊一下Django如何避免xss攻击