Java项目使用jib打包docker镜像的简单记录
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镜像的简单记录相关推荐
- Spring Boot项目打包Docker镜像
Spring Boot项目打包Docker镜像 1.编写 Dockerfile 文件 2.加入 spring boot 根路径, 进行 mvn package 打包 3.打包上传项目并解压 4.进入 ...
- SpringCloud项目打包Docker镜像并发布到Harbor仓库
SpringCloud项目打包Docker镜像并发布到Harbor仓库 1. Docker-compose安装 2. Harbor仓库搭建 3. Docker环境配置 4. 项目配置 1. Docke ...
- 打包docker镜像,推送远程服务器,部署到k8s步骤
打包docker镜像 前提条件 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前 ...
- 打包docker镜像推送到远程服务器并部署到k8s
前提条件: 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前的文章中我们已经通过 ...
- springboot打包docker镜像部署
springboot打包docker镜像部署 环境准备 机器 vultr一台,centos7 资源下载 jdk8 maven git yum install git docker yum instal ...
- Docker基础篇 - (六)Docker 网络Spring Boot微服务打包Docker镜像
⑦ Docker 网络 7.1 理解Docker0 清空下前面的docker 镜像.容器 # 删除全部容器 [root@cVzhanshi tomcat-diy]# docker rm -f $(do ...
- IDEA 打包docker镜像(以打包Jdk8为例)
目录 1.Idea项目中准备jdk8打包docker镜像的相关文件 2.编写Dockeffile文件 3.编辑Configurations 添加Dockerfile 4.创建镜像 Idea中docke ...
- docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]
docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...
- BI系统打包Docker镜像及部署的技术难度和实现
BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...
- jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署
本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...
最新文章
- Linux踢出其他正在SSH登陆用户
- PHP数据库链接类(PDO+Access)
- 论文笔记:Autoregressive Tensor Factorizationfor Spatio-temporal Predictions
- 反射工具类,如斯优雅
- ajax第一个例子,第一个ajax例子【ajax有哪几种啊,了解的指导哈】
- 创意合成大片欣赏,进步都是从模仿开始
- 人生就是一次Presentation
- 快到起飞 | PP-LCNet在CPU上让模型起飞,精度提升且比MobileNetV3+快3倍
- Vue异步组件Demo 1
- Spark Mllib里如何删除每一条数据中所有的双引号“”(图文详解)
- Oracle1518,redhat 5.4 Oracle 10g r2
- 动态时间规整—DTW算法
- 华为网络技术比赛-云平台课件笔记
- 警惕面试过程中的 PUA
- 软件测试的生命周期测试流程
- mybatis mybatis的resultType详解
- 鞍点(saddle point)
- c++封装webrtc sdk(二):在sdk端实现webrtc视频渲染
- SpringBoot最佳实践,它来了,它来了
- 【工具分享篇二】PDF公式提取教程(一):Mathpix/Typora及Pandoc扩展安装教程
热门文章
- window10 下载速度限制问题解决方案
- 家用千兆路由器排行榜前十名_家庭用哪款路由器好 2017最适合家用路由器排行榜...
- router-vue中meta参数
- Linux 命令(186)—— atq 命令
- 计算标准累积正态分布_正态分布在用户等级划分的应用
- web调用钉钉待办审批
- 【报告分享】2019年人工智能中国专利技术分析报告.pdf(附下载链接)
- RobotStudio 示教器编程:MoveC指令
- 《Xenogears》(异度装甲)隐含的原型与密码
- C#编译报错:名称必须是命名空间名