分享好友 最新动态首页 最新动态分类 切换频道
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. 终端信息如下

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

最新文章
谷歌二次验证 Google Authenticator
version: '3' server: command: "php vendor/spiral/roadrunner-laravel/bin/rr-worker start" http: address: 0.0.0.0:8080 middleware: ["static", "headers", "gzip"] pool: headers: response: X-Powered-By: "R
SVN外链
使用Subversion进行版本管理时,有时需要将一些公共库或者开源库链接到自己项目中,为了同时做到与外部库实时更新,使用Subversion的外链功能,从而将外部的库当做本地项目的一部分。通过Tortoise客户端,将
软件外链建设:全方位指南
软件开发是一个竞争激烈的行业,在其中脱颖而出至关重要。外链建设是提高网站权威和知名度的有效方式。本规划师将提供一个全面的计划和执行方案,以帮助您有效地建立软件外链,提高您的网站在搜索引擎中的排名。目标受众该外链建设规划师的
新建改扩建227所公办中小学,增加学位33.99万个!东莞教育吹响“千日攻坚号”
  2月3日,东莞市政府印发《东莞市关于加快公办中小学建设的实施意见》(以下简称为《实施意见》)的通知,聚焦教育投建和学位供给的瓶颈问题,这标志着东莞教育扩容提质千日攻坚行动正式打响。  根据《实施意见》,千日攻坚行动期间将
鑫彩平台注册平台
鑫彩平台注册平台应有尽有多种玩法全面查看和掌握,推荐专业彩票预测方式,让查询更高效率,从手机上查看中奖信息很方便,拥有全新彩票界面让您轻松成为大神,注册就送福利,每天都能抽奖。1、开奖数据内容是会进行完整的统计呈现,快速找
把电脑搬到“云”上,开启智能生活办公新篇章
把电脑搬到“云”上是种什么体验?出差旅途中,突然有紧急工作要处理,打开PAD登录移动云电脑账号,PAD秒变工作电脑,资料文件实时同步。想要感受一把黑神话·悟空的创新玩法,无奈电脑配置太弱,不用更新硬件,用移动云电脑、电脑配置云端
超逼真美女写真生成:揭秘最强AI工具与实用教程!
步骤1:访问搜狐简单AI小程序打开微信,搜索“搜狐简单AI”小程序,点击进入。步骤2:选择生成选项在首页,选择“美女写真生图”选项。步骤3:调整参数根据自己的需求,选择不同的风格、背景、发色等,尽可能详细地规划你想要的效果。步骤4
楚雄网站关键词优化排名
进行楚雄网站关键词优化排名可以通过以下步骤来提高搜索引擎优化(SEO)的效果:1. 关键词研究: - 利用工具(如Google关键词规划师、Ahrefs、SEMrush)找出与您网站相关且搜索量高的关键词。 - 考虑长尾关键词,这些关键词通常竞争较小且更
逾期之后如何协商还款才能顺利解决问题
逾期之后如何协商还款小编导语在现代社会中,经济活动频繁,借贷行为已成为人们日常生活的一部分。由于种种原因,借款人难免会遇到逾期还款的情况。逾期还款不仅会影响个人信用记录,还可能导致法律纠纷和额外的经济负担。因此,学会如何有
新媒体广告投放的主要付费模式有三种
CPM是按照展示计费,广告每展现给一千个人所需花费的成本,所以又叫干人展现成本。例如某个广告位干次曝光的价格为10元,则CPM=10。目前在很多平台CPM都是最主流的计费方式,按此付费的广告大多以品牌展示、产
相关文章
推荐文章
发表评论
0评