Maven插件Jib配合Harbor生成Docker镜像
1 说明
2 Maven配置
2.1 pom.xml中配置
项目的pom.xml中添加以下属性和插件内容:
<properties>
<app.main.class>cc.anxminise.spblearn.Application</app.main.class>
<docker.image.prefix>192.168.1.112/library</docker.image.prefix>
<docker.image.name>${artifactId}:${version}</docker.image.name>
</properties>
| 属性 | 说明 | 举例 |
|---|---|---|
| app.main.class | SpringBoot应用的启动类,即:待@SpringBootApplication注解的类 |
无 |
| docker.image.prefix | 生成的docker镜像的tag标签的前缀 |
192.168.1.112/library/spblearn:0.0.1 |
| docker.image.name | 生成的docker镜像的名称 | 192.168.1.112/library/spblearn:0.0.1 |
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>0.9.11</version>
<configuration>
<from>
<image>192.168.1.112/library/centos7-java8u131:1.0.1</image>
</from>
<to>
<image>${docker.image.prefix}/${docker.image.name}</image>
</to>
<container>
<jvmFlags>
<jvmFlag>-Xms512m</jvmFlag>
</jvmFlags>
<environment>
<spring.profiles.active>prod</spring.profiles.active>
<TZ>Asia/Shanghai</TZ>
</environment>
<mainClass>${app.main.class}</mainClass>
<format>OCI</format>
<useCurrentTimestamp>true</useCurrentTimestamp>
</container>
<allowInsecureRegistries>true</allowInsecureRegistries>
</configuration>
</plugin>
</plugins>
| 属性 | 说明 |
|---|---|
| jvmFlag | 配置jvm虚拟机参数 |
| spring.profiles.active | 配置应用的启动参数,这里配置了使用application-prod.yml中的配置 |
| TZ | 配置了使用的时区 |
2.2 执行构建生成docker镜像
mvn jib:dockerBuild -DsendCredentialsOverHttp=true
3 本地测试镜像
docker run -it --rm -p port:port 192.168.1.112/library/镜像名称:镜像版本
4 推送镜像到仓库
docker push 192.168.1.112/library/镜像名称:镜像版本
Maven插件Jib配合Harbor生成Docker镜像的更多相关文章
- 使用Maven插件快捷打包发布远程Docker镜像 dockerfile-maven-plugin
1.开放远程Docker远程访问端口 # vim /lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0. ...
- 使用Maven插件构建Spring Boot应用程序镜像
使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...
- idea使用docker-maven-plugin插件将项目编译为docker镜像到远程linux服务器 原
在使用idea开发时,直接docker-maven-plugin插件,把项目编译成docker镜像,然后通过docker:push推送到linux服务器,非常简单,快捷,也避免了手动打包,然后拷贝wa ...
- jenkins自动打包生成docker镜像后自动发布并nginx代理访问
之前曾写过docker及jenkins基础使用 https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...
- 使用maven插件dockerfile-maven-plugin生成Docker镜像并推送到镜像仓库
1.引入maven插件 <build> <plugins> <plugin> <groupId>com.spotify</groupId> ...
- maven 打包 spring boot 生成docker 镜像
1.所使用材料 ,spring boot 项目 基于maven ,maven 工具, docker工具 ps:为啥使用 docker 公司微服务需要启动太多,有两个优点吧! 1.方便管理,2.减少服务 ...
- Dockfile 生成docker镜像文件大小的比较
下面就是我针对docker file同一个文件,按照layer层的个数的多少,分别构建了两个镜像的jenkins-master.两者大小相差300MB. <1> layer层数太多,没有将 ...
- asp.net core webapi 使用ef 对mysql进行增删改查,并生成Docker镜像构建容器运行
1.构建运行mysql容器,添加数据库user 参考Docker创建运行多个mysql容器,地址 http://www.cnblogs.com/heyangyi/p/9288402.html 添加us ...
- 如果想从jenkins直接生成docker镜像,并推送到harbor中,最简单的脚本如何实现?
如果不考虑意外, 第一版最简单的构思如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import getopt, sys import subpro ...
随机推荐
- 【转】AVL之C++实现
AVL树的介绍 AVL树是高度平衡的而二叉树.它的特点是:AVL树中任何节点的两个子树的高度最大差别为1. 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1:而右边的不 ...
- Android apps for “armeabi-v7a” and “x86” architecture: SoC vs. Processor vs. ABI
INSTRUCTION SET: Processors are made of semiconductor dies, usually electronic-grade mono-crystallin ...
- Js中的排他思想
<body> <button>按钮1</button> <button>按钮2</button> <butto ...
- 箭头函数可不用return直接将表达式作为函数返回值
箭头函数如果函数体只有一个表达式,那么表达式将作为函数的返回值,这种写法无须加上return关键字, 看下面两个函数定义 var testAf = () => '111'; var testAf ...
- Python全栈--目录导航
这里更新以Python语言作为基础,想要成为全栈工程师需要掌握的技能... Python基础语法 day01 初识Python day02 while循环 运算符和编码 day03 字符串 day04 ...
- udev只能修改Linux 网口名称,无法修改/dev目录下的设备名称
NAME The name to use for a network interface. The name of a device node cannot be changed by udev, o ...
- Linux 内核启动信息的打印 --- dev_driver_string函数/dev_name函数
内核启动时,常会打印出一些信息:开头是 "驱动模块的名字: + 具体的信息" 如:在运行的linux系统设备上,插入鼠标,就会打印出鼠标的相关信息; [ 402.134068] i ...
- Redis读写分离技术解析
背景 云数据库Redis版不管主从版还是集群规格,replica作为备库不对外提供服务,只有在发生HA的时候,replica提升为master后才承担读写流量.这种架构读写请求都在master上完成, ...
- 20165313-bof进阶
实践基础知识 1.ALSR 1.定义: ASLR,全称为 Address Space Layout Randomization,地址空间布局随机化,它将进程的某些内存空间地址进行随机化来增大入侵者预测 ...
- 微信网页授权+获取用户基本信息+强制关注+JSSDK分享参数
网页授权+获取用户基本信息+强制关注+JSSDK分享参数 //支付宝红包口令列表 public function view(){ $openid = ""; Vendor('Wei ...