1 说明

  1. Maven插件Jib暂不支持https的自签名,因此只能配置以Http的方式访问Harbor私有仓库
  2. 以下基于SpringBoot2.x进行配置

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镜像的更多相关文章

  1. 使用Maven插件快捷打包发布远程Docker镜像 dockerfile-maven-plugin

    1.开放远程Docker远程访问端口 # vim /lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0. ...

  2. 使用Maven插件构建Spring Boot应用程序镜像

    使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...

  3. idea使用docker-maven-plugin插件将项目编译为docker镜像到远程linux服务器 原

    在使用idea开发时,直接docker-maven-plugin插件,把项目编译成docker镜像,然后通过docker:push推送到linux服务器,非常简单,快捷,也避免了手动打包,然后拷贝wa ...

  4. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

  5. 使用maven插件dockerfile-maven-plugin生成Docker镜像并推送到镜像仓库

    1.引入maven插件 <build> <plugins> <plugin> <groupId>com.spotify</groupId> ...

  6. maven 打包 spring boot 生成docker 镜像

    1.所使用材料 ,spring boot 项目 基于maven ,maven 工具, docker工具 ps:为啥使用 docker 公司微服务需要启动太多,有两个优点吧! 1.方便管理,2.减少服务 ...

  7. Dockfile 生成docker镜像文件大小的比较

    下面就是我针对docker file同一个文件,按照layer层的个数的多少,分别构建了两个镜像的jenkins-master.两者大小相差300MB. <1> layer层数太多,没有将 ...

  8. asp.net core webapi 使用ef 对mysql进行增删改查,并生成Docker镜像构建容器运行

    1.构建运行mysql容器,添加数据库user 参考Docker创建运行多个mysql容器,地址 http://www.cnblogs.com/heyangyi/p/9288402.html 添加us ...

  9. 如果想从jenkins直接生成docker镜像,并推送到harbor中,最简单的脚本如何实现?

    如果不考虑意外, 第一版最简单的构思如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import getopt, sys import subpro ...

随机推荐

  1. postfix发邮件失败,日志和postqueue -p提示No route to host

    1.  防火墙未放行相关端口 2

  2. go.rice 强大灵活的golang 静态资源嵌入包

    以前简单介绍过packr ,statik 等静态资源嵌入工具包的使用,go.rich 是一个与packr 类似的静态资源嵌入包,使用简单 功能强大 项目结构 golang mod   go mod i ...

  3. django -- ORM实现出版社增删改查

    前戏 我们来完成一个图书管理系统的增删改查 表结构设计 1. 出版社 id   name 2. 作者 id  name 3. 书 id  title  出版社_id 4. 作者_书_关系表 id  书 ...

  4. C++中静态成员变量要在类外部再定义或初始化的原因

    C++中静态成员变量要在类外部再定义或初始化,否则会产生错误. class A { public: static int a; }; int A::a=0; 为什么要在类的外部进行定义的原因: 1. ...

  5. PATB1014福尔摩斯的约会

    参考代码: #include<cstdio> #include<cstring> #include<cstdlib> int main() { char week[ ...

  6. LOJ6625 时间复杂度(min_25筛)

    本人在LOJ的第三题(前两题太水不好意思说了QwQ),欢迎大家踩std. 题目链接:LOJ 题目大意:定义函数 $f$:($minp$ 表示最小质因子) $$f(x)=\begin{cases}0&a ...

  7. pytest学习笔记二 fixtrue

    前言 官方文档关于fixture功能的解释如下: The purpose of test fixtures is to provide a fixed baseline upon which test ...

  8. Linux驱动架构之pinctrl子系统分析(一)

    1.前言在嵌入式系统中,许多SoC的内部都包含了pin控制器,通过芯片内部的pin控制器,我们可以配置一个或者一组引脚的状态和功能特性,Linux内核为了统一各SoC厂商的引脚管理,提供了pinctr ...

  9. Java使用正则表达式匹配多行 Pattern flags

    Java中正则匹配有多种模式,若不选择模式则默认为单行匹配 匹配模式(Pattern flags) compile()方法有两个模式 未开匹配模式 Pattern compile(String reg ...

  10. Debian Stretch升级当前最新稳定版内核

    Why update kernel ? Update the kernel to new version fixed some newer hardware has no driver softwar ...