分享好友 最新动态首页 最新动态分类 切换频道
Docker与Jib(maven插件版)实战
2024-12-26 23:56

关于Jib

Java应用如果要运行在docker环境,就要制作包含该应用的docker镜像,Jib就是用来制作此镜像的的工具,有三种使用Jib的方法

Docker与Jib(maven插件版)实战

  1. Maven插件:jib-maven-plugin
  2. Gradle插件:jib-gradle-plugin
  3. Java库:Jib Core

Jib的官网地址是:https://github.com/GoogleContainerTools/jib

今天咱们要聊的是第一种:通过jib的maven插件将java应用构建成docker镜像

实战环境信息

  1. 操作系统:CentOS Linux release 7.6.1810
  2. docker:1.13.1
  3. jdk:1.8.0_191
  4. maven:3.6.0

接下来一起开发一个java应用,并使用jib的maven插件,来构建该应用对应的docker镜像

源码下载

如果您不打算写代码,也可以从GitHub上下载本次实战的源码,地址和链接信息如下表所示

名称链接备注项目主页https://github.com/zq2599/blog_demos该项目在GitHub上的主页git仓库地址(https)https://github.com/zq2599/blog_demos.git该项目源码的仓库地址,https协议git仓库地址(ssh)git@github.com:zq2599/blog_demos.git该项目源码的仓库地址,ssh协议

准备java应用

准备一个最简单的springboot应用hellojib,用于实战构建docker镜像

  1. 该应用是基于maven构建的,启动类如下
 
  1. 有一个controller用于后面验证服务是否正常
 
  1. 最重要的部分来了,pom.xml的内容如下,请注意注释
 

上述xml中有以下几处需要注意
a. 插件的节点中增加了插件jib-maven-plugin的配置
b. from节点用来设置基础镜像,一般使用openjdk官方镜像,如果您想了解更多请参考《openjdk镜像的tag说明》
c. to节点用于指定镜像名称和tag
d. container节点用来设置容器的属性,例如对外暴露的端口、jvm参数等

完成了上述设置,就可以构建镜像了

构建成tar文件

还记得常用的docker到处到处命令么
. docker save命令将本地仓库的docker镜像导出成tar格式的文件
. docker load命令可以将tar格式的镜像文件导入到本地镜像仓库

利用Jib,我们可以将java应用做成docker镜像并生成tar格式的文件,操作步骤如下

  1. 在上述java工程的pom.xml文件所在目录,执行以下命令
 
  1. 构建成功后,控制台提示以下信息

验证镜像是否可用

  1. 执行以下命令,即可启动容器
 
  1. 控制台显示springboot的启动信息
  1. 先执行命令docker rmi bolingcavalry/hellojib:0.0.1-SNAPSHOT将前面构建的镜像删除
  2. 在pom.xml文件所在目录执行以下命令即可
 
  1. 终端提示如下
 
  1. 执行命令docker images可见镜像已经在镜像仓库中了
 

构建到hub.docker.com

docker的中央仓库是 hub.docker.com ,jib也可以在镜像构建成功后自动推送到hub.docker.com网站,前提是您已经在该网站注册过,例如我已经注册过,账号是bolingcavalry,因此名为bolingcavalry/XXXXXXXX的镜像都可以推送到 hub.docker.com

  1. 在pom.xml文件所在目录执行以下命令即可自动推送到 hub.docker.com,其中bolingcavalry是我在hub.docker.com上的注册账号,123456是密码
 
  1. 终端信息如下

欢迎关注我的公众号:程序员欣宸

最新文章
聊天被诬陷性骚扰犯法吗
一、聊天被诬陷性骚扰犯法吗在交流过程中受到指控涉嫌性骚扰,然而仅凭恶意的指责而缺乏实际行为作为支撑,此种情况并不符合犯罪构成要件。若该项诬告最终导致指控者承受了不当的制裁或名誉受到了实质性的伤害,那么诽谤者则有可能就其恶意
苹果哪款手机拍照效果最好?苹果十大最佳拍照手机排名
苹果当中拍照好的手机很多,苹果十大最佳拍照手机排名为:iPhone SE 2020,iPhone 12 Pro,iPhone 11,iPhone SE 2,iPhone 6S Plus,iPhone 6S,iPhone12 Pro Max,iPhone 12 mini,iphone 12,iPhone 13 mini,这十款苹果手机是目前拍照
联想笔记本电池驱动(联想笔记本进BIOS按什么键)
1. 引起读者的注意在现代社会中,笔记本电脑已经成为人们日常生活不可或缺的工具。随着使用时间的增加,笔记本电池的性能逐渐下降,给用户带来了不便。而联想作为知名的电脑品牌,其笔记本电池驱动更是备受关注。我们如何进入联想笔记本的B
一文全方位掌握“架构原则”:3 总则、4 域细则与 TOGAF 10 原则
架构设计不像数学公式或者物理定律那样有固定的解答。很多时候,它是设计师在各种需求、技术限制和未来规划之间做出的权衡结果,是一种最符合实际情况的“智慧输出”。不过,虽然架构设计充满了不确定性,但一些好的架构原则和思路可以帮助
湖南筱度引领企业SEO新营销浪潮
湖南筱度SEO优化推广服务,专注提升企业网络营销效果,助力企业开启互联网营销新篇章,实现品牌影响力与市场竞争力双提升。随着互联网技术的飞速发展,网络营销已经成为企业获取客户、提高品牌知名度的重要手段,在众多网络营销策略中,SEO
色情链接太多了吧,百度遭媒体质疑|1月21日坏消息榜
关注钛媒体每日、每月整理发布的行业坏消息榜,一榜略尽当日当月最具影响的坏消息。近日,有记者通过电脑页面和手机客户端,分别登录此前报道中涉及的贴吧,看到大多数贴吧已被彻底关停,但名为“苍XX”的贴吧,仍可通过手机客户端间断登录
百度搜索优化这样做,让你的流量蹭蹭暴涨!
对于SEOER来说,百度搜索优化是个老生常谈的话题。做好百度搜索引擎优化,不仅有助于网站在搜索引擎上获得良好的排名,带来的自然曝光和流量也十分可观。无论从品牌传播的角度还是从业务转化的角度,都大有裨益。那么,当网站访客流量遭遇
微信外链新闻:全面外链策略指南
网站外链建设规划目标:建立高质量的外链网络,提高网站在搜索引擎结果页面 (SERP) 中的排名和可见度。策略:* 创建有价值的内容:撰写信息丰富、引人入胜且相关的文章、博客文章和指南,为受众提供价值。* 接触相关网站和影响者:寻找相关
真人投票点赞拉票群,微信投票代投
真人投票拉票群,微信投票代投真人投票拉票群微信投票代投是一种便捷的投票服务,专为各类比赛活动设计。本群提供真人拉票服务,确保每一票都是真实有效的,以支持您的选手获得更多关注与荣誉。我们还提供代投服务,无论您的选手身处何地,
探索“天空之城”新纪元——城市低空起降设施体系规划的若干思考
点击蓝字关注我们上海市土木工程学会作为自然资源领域专业咨询服务商,城建设计集团一直在思考如何率先在空地一体化领域开展规划探索与创新转型,先行成立城市立体交通研发中心(低空交通中心),聚焦低空经济发展的规划设计和技术应用,努
相关文章
推荐文章
发表评论
0评