一、前言

Jib:Google开源的Java容器化工具

可作为插件快速集成到项目中,构建镜像,实现 Java 应用容器化

下面贴出一张从网上看到的Jib描述~

二、利用Jib插件构建镜像push到阿里云镜像仓库

1、首先创建镜像仓库
  1. 阿里云镜像仓库地址:https://cr.console.aliyun.com/repository
  2. Docker Hub地址:https://www.docker.com/

创建成功后,我们可以在基本信息中获取到我们所需要的镜像地址,然后通过Jib去构建push了

温馨小提示: 小编这里只是简单的演示一下如何集成到maven项目

2、在 pom.xml 中新增 Jib插件
<plugins>
<!-- Jib插件 -->
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>1.7.0</version>
<configuration>
<!-- 拉取所需的基础镜像 - 这里用于运行springboot项目 -->
<from>
<image>openjdk:alpine</image>
</from>
<!-- 最后生成的镜像配置 -->
<to>
<!-- push到阿里云镜像仓库,如果是其它镜像仓库,将下面地址替换掉即可,ex: `Docker Hub` 的 `docker.io/zhengqing/xxx` -->
<image>registry.cn-hangzhou.aliyuncs.com/zhengqing/demo</image>
<!-- 镜像版本号 -->
<tags>
<tag>v1</tag>
</tags>
<auth>
<username>账号</username>
<password>密码</password>
</auth>
</to>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
3、上传镜像

项目根目录下执行命令 mvn compile jib:build 或者 通过idea的maven插件工具双击直接运行

上传成功如下:

4、到阿里云镜像仓库中查看上传信息

三、docker拉取镜像运行

docker run -d -p 8101:8080 --name aliyun-docker-test registry.cn-hangzhou.aliyuncs.com/zhengqing/demo:v1

如果是Docker Hub镜像,示例如下:

docker run -d --name docker-test -p 3001:8080 docker.io/zhengqing/镜像名xx:v1

运行成功后,浏览器测试访问

http://zhengqingya.com:8101/

四、总结

通过Jib构建镜像到阿里云仓库,非常简单,基于maven项目只需要引入所需Jib插件即可~

需要注意的是,如果新建的阿里云镜像仓库是私有的需要先登录哦,这一点在阿里云官网上有示例,就不说了

其次,如果需要将镜像构建到本地docker环境中,执行命令 mvn compile jib:dockerBuild 即可

本文案例代码

https://gitee.com/zhengqingya/java-workspace

Jib插件构建镜像push到阿里云镜像仓库的更多相关文章

  1. 通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    在centos上安装docker # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data l ...

  2. Docker镜像加速-配置阿里云镜像仓库

    Docker默认远程仓库是https://hub.docker.com/ 比如我们下载一个大点的东西,龟速 由于是国外主机,类似Maven仓库,慢得一腿,经常延迟,破损: 所以我们一般都是配置国内镜像 ...

  3. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库

    编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...

  4. 使用阿里云镜像仓库构建国外 Docker 镜像

    使用阿里云镜像仓库下载国外镜像 在日常使用 Docker 或 K8S 的过程中,经常会需要到国外的网站中下载镜像,但是有些网站在国内是无法访问的.对于这个问题可以使用阿里云提供的镜像仓库进行下载,然后 ...

  5. 两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库

    两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试. ...

  6. IDEA使用Docker插件构建镜像

    IDEA使用Docker插件构建镜像 记一次坑  第一次插件docker-maven-plugin的 配置文件中没写远程主机的地址 <dockerHost>http://192.168.1 ...

  7. Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目

    Docker.Gitlab.阿里云镜像仓库.SpringBoot的相关安装.搭建这里就不讲了. Linux 安装 Docker :https://www.cnblogs.com/linnuo/p/15 ...

  8. 设置阿里云镜像仓库并安装Docker

    echo "设置阿里云镜像仓库" mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum ...

  9. docker使用阿里云镜像仓库

    1:阿里云docker仓库 https://dev.aliyun.com/search.html 2:进去注册帐号后,点击自己的管理中心. 3:在管理中心点击加速器,右边面板会有你的加速地址,右边面板 ...

随机推荐

  1. C#的集合类型及使用技巧

    在日常开发过程中,我们不能避免的要对批量数据处理,这时候就要用到集合.集合总体上分为线性集合和非线性集合.线性集合是指元素具有唯一的前驱和后驱的数据结构类型:非线性集合是指有多个前驱和后驱的数据结构类 ...

  2. 面试必问:ACID/CAP

    转载: https://www.jdon.com/artichect/acid-cap.html ACID和CAP的详尽比较 事务机制ACID和CAP理论是数据管理和分布式系统中两个重要的概念,很不巧 ...

  3. MyBatisCodeHelper-Pro插件破解

    MyBatisCodeHelper-Pro: MyBatisCodeHelper-Pro是IDEA下的一个插件,功能类似mybatis plugin. 但是是收费的,我们可以对他进行破解 转载出处:h ...

  4. springboot使用spring配置文件

    1.如何在springboot中使用spring的配置文件,使用@Configuration和@ImportResource注解 package com.spring.task; import org ...

  5. Mybaits 源码解析 (五)----- 面试源码系列:Mapper接口底层原理(为什么Mapper不用写实现类就能访问到数据库?)

    刚开始使用Mybaits的同学有没有这样的疑惑,为什么我们没有编写Mapper的实现类,却能调用Mapper的方法呢?本篇文章我带大家一起来解决这个疑问 上一篇文章我们获取到了DefaultSqlSe ...

  6. javadoc的使用

    在进行项目开发过程中,项目接口文档是很重要的一块内容,在java项目中我们可以用swagger,asciidoc,javadoc等方式来生产文档,而其中最基本的文档生成方式就是javadoc,它一般用 ...

  7. spark java api数据分析实战

    1 spark关键包 <!--spark--> <dependency> <groupId>fakepath</groupId> <artifac ...

  8. Android自定义控件:自适应大小的文本控件

    需求 自适应大小的文本: 效果图: 项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面, 往往会少考虑一些数据极限的问题,造成机型屏幕适配问题. 例如: 文本(或数值)长度可变,如 ...

  9. Python基础知识-运算符

    今日学习内容 用户交互 用户交互就是人向机器发出指令,机器分析处理后,给人们返回操作结果(装13的说法).直白地讲,就是人往计算机中输入(input)数据,计算机输出(output)结果.交互的本质就 ...

  10. [考试反思]0719NOIP模拟测试6 + 0722NOIP模拟测试7

    连续爆炸,颇为愉快. 第6次:Rank #4 第7次:Rank #9 对于第6次考试,个人比较满意,因为T1只是差了一个卡常. 因为在考试前两天刚讲了矩阵,满脑子都是矩阵,还想到了循环矩阵优化. 整个 ...