jib主要用来在没有docker环境下将项目打包成docker镜像

主要有一下四种方式: maven、gradle、core、cli 本文主要介绍cli和maven两种打包方式

github地址: https://github.com/GoogleContainerTools/jib

1. 使用jib-cli将war包打成docker镜像

例子:

jib war  --send-credentials-over-http  --allow-insecure-registries --from=bitnami/tomcat:8.0.53--target=镜像名称:版本 --to-username=**** --to-password=**** --app-root=/tomcat   --additional-tags=latest   通过  --expose=端口,端口  ****.war

参数解释:

–send-credentials-over-http 通过http发送用户名和密码 内网环境可以走这个,外网最好时https --send-credentials-over-http
–allow-insecure-registries 使用不安全的仓库,就是仓库可以用http请求到,本地仓库可以设置成这个
以上两个参数需要放在命令的开头,否则无法生效

–environment-variables 键值对,环境变量 --environment-variables=jvmFlag=-Xms4g,jvmFlag=-Xmx4g

–program-args=程序的启动参数 ,可通过主类的args[]数组获取

–volumes= 挂在卷 具体的物理地址

–app-root=/tomcat 默认使用jetty作为web服务器,此处可以通过–from设置为docker hub中的tomcat,但是设置成Tomcat以后,此参数必填,需要填–from的tomcat的webapps的目录地址,否则不会加载,tomcat是可以将部署文件与tomcat本身分离的,只需要在service.xml中添加虚拟目录就行,但是这个工具不会自动映射,dockerhub上tomcat的默认路径为/usr/local/tomcat ,此处就应该是 /usr/local/tomcat/webapps/项目名 即可

–entrypoint=设定参数 --entrypoint=[“java”,“-jar”,“aaa.jar”],一般不用写,默认会配置好

–target=可以是镜像仓库的名称也可以是某个docker的远程服务的地址,tcp://…:2375/imagesNames:版本

2. jib war的全部参数:

Usage: jib war [-hV] [--allow-insecure-registries][--send-credentials-over-http] [--app-root=<app root>][--base-image-cache=<cache-directory>] [--console=<type>][--creation-time=<creation-time>] [--from=<base-image>][--image-format=<image-format>][--image-metadata-out=<path-to-json>] [--name=<image-reference>][--project-cache=<cache-directory>] -t=<target-image>[-u=<user>] [--verbosity=<level>] [--additional-tags=<tag>[,<tag>...]]... [--entrypoint=<entrypoint>[\s+<entrypoint>...]]...[--environment-variables=<key>=<value>[,<key>=<value>...]]...[--expose=<port>[,<port>...]]... [--labels=<key>=<value>[,<key>=<value>...]]... [--program-args=<program-argument>[,<program-argument>...]]... [--volumes=<volume>[,<volume>...]]...[--credential-helper=<credential-helper> |[--username=<username> --password[=<password>]] |[[--to-credential-helper=<credential-helper> |[--to-username=<username> --to-password[=<password>]]][--from-credential-helper=<credential-helper> |[--from-username=<username> --from-password[=<password>]]]]][@<filename>...] <warFile>

3. 对于SpringBoot项目:maven相关配置

<plugin>    <groupId>com.google.cloud.tools</groupId>    <artifactId>jib-maven-plugin</artifactId>    <version>1.6.1</version>    <configuration>       <!--from节点用来设置镜像的基础镜像,相当于Docerkfile中的FROM关键字-->       <from>           <!--使用openjdk官方镜像-->           <image>openjdk:alpine</image>        </from>       <to>            <!--镜像名称和tag,使用了mvn内置变量${project.version},表示当前工程的version-->             <image>172.16.9.3:20039/repository/docker-images-hosted/demo-jib:${project.version}</image><auth>                <password>infodocker</password>            </auth>        </to>        <!--容器相关的属性-->        <container>            <!--jvm内存参数-->           <jvmFlags>              <jvmFlag>-Xms4g</jvmFlag>              <jvmFlag>-Xmx4g</jvmFlag>            </jvmFlags>           <!--要暴露的端口-->           <ports>              <port>17083</port>         </ports>           <creationTime>USE_CURRENT_TIMESTAMP</creationTime>       </container>       <allowInsecureRegistries>true</allowInsecureRegistries>   </configuration>    <!--sendCredentialsOverHttp 打成jar包启动时使用-DsendCredentialsOverHttp=true来传递参数-->
</plugin>

Java项目使用jib打包docker镜像的简单记录相关推荐

  1. Spring Boot项目打包Docker镜像

    Spring Boot项目打包Docker镜像 1.编写 Dockerfile 文件 2.加入 spring boot 根路径, 进行 mvn package 打包 3.打包上传项目并解压 4.进入 ...

  2. SpringCloud项目打包Docker镜像并发布到Harbor仓库

    SpringCloud项目打包Docker镜像并发布到Harbor仓库 1. Docker-compose安装 2. Harbor仓库搭建 3. Docker环境配置 4. 项目配置 1. Docke ...

  3. 打包docker镜像,推送远程服务器,部署到k8s步骤

    打包docker镜像 前提条件 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前 ...

  4. 打包docker镜像推送到远程服务器并部署到k8s

    前提条件: 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前的文章中我们已经通过 ...

  5. springboot打包docker镜像部署

    springboot打包docker镜像部署 环境准备 机器 vultr一台,centos7 资源下载 jdk8 maven git yum install git docker yum instal ...

  6. Docker基础篇 - (六)Docker 网络Spring Boot微服务打包Docker镜像

    ⑦ Docker 网络 7.1 理解Docker0 清空下前面的docker 镜像.容器 # 删除全部容器 [root@cVzhanshi tomcat-diy]# docker rm -f $(do ...

  7. IDEA 打包docker镜像(以打包Jdk8为例)

    目录 1.Idea项目中准备jdk8打包docker镜像的相关文件 2.编写Dockeffile文件 3.编辑Configurations 添加Dockerfile 4.创建镜像 Idea中docke ...

  8. docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

    docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...

  9. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

  10. jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署

    本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...

最新文章

  1. Linux踢出其他正在SSH登陆用户
  2. PHP数据库链接类(PDO+Access)
  3. 论文笔记:Autoregressive Tensor Factorizationfor Spatio-temporal Predictions
  4. 反射工具类,如斯优雅
  5. ajax第一个例子,第一个ajax例子【ajax有哪几种啊,了解的指导哈】
  6. 创意合成大片欣赏,进步都是从模仿开始
  7. 人生就是一次Presentation
  8. 快到起飞 | PP-LCNet在CPU上让模型起飞,精度提升且比MobileNetV3+快3倍
  9. Vue异步组件Demo 1
  10. Spark Mllib里如何删除每一条数据中所有的双引号“”(图文详解)
  11. Oracle1518,redhat 5.4 Oracle 10g r2
  12. 动态时间规整—DTW算法
  13. 华为网络技术比赛-云平台课件笔记
  14. 警惕面试过程中的 PUA
  15. 软件测试的生命周期测试流程
  16. mybatis mybatis的resultType详解
  17. 鞍点(saddle point)
  18. c++封装webrtc sdk(二):在sdk端实现webrtc视频渲染
  19. SpringBoot最佳实践,它来了,它来了
  20. 【工具分享篇二】PDF公式提取教程(一):Mathpix/Typora及Pandoc扩展安装教程

热门文章

  1. window10 下载速度限制问题解决方案
  2. 家用千兆路由器排行榜前十名_家庭用哪款路由器好 2017最适合家用路由器排行榜...
  3. router-vue中meta参数
  4. Linux 命令(186)—— atq 命令
  5. 计算标准累积正态分布_正态分布在用户等级划分的应用
  6. web调用钉钉待办审批
  7. 【报告分享】2019年人工智能中国专利技术分析报告.pdf(附下载链接)
  8. RobotStudio 示教器编程:MoveC指令
  9. 《Xenogears》(异度装甲)隐含的原型与密码
  10. C#编译报错:名称必须是命名空间名