一、前言

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. ggstatsplot绘图|统计+可视化,学术科研神器

    本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/zdSit97SOEpbnR18ARzixw 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. ...

  2. Intellij idea 一个窗口打开多模块并添加依赖

    打开多模块 ctrl+alt+shift+s 或者file->project sturcture 选择modules 添加 选择要添加的模块 选择从现有模块添加,不要选择从现在代码创建模块 添加 ...

  3. lable的渲染

    <StackPanel Margin=" TextOptions.TextFormattingMode="Display"> <Label TextOp ...

  4. zepto源码分析·ajax模块

    准备知识 在看ajax实现的时候,如果对ajax技术知识不是很懂的话,可以参看下ajax基础,以便读分析时不会那么迷糊 全局ajax事件 默认$.ajaxSettings设置中的global为true ...

  5. 实现文字色彩渐变(Mask)

    文字色彩渐变是指的文字本身的颜色,不是背景渐变.要实现此效果可以采用Mask组件,本文先从介绍mask说起 1)Mask介绍 mask组件实现的作用是,mask组件所在游戏物体下的子游戏物体在mask ...

  6. node.js的File模块

    1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node ...

  7. video3

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. "Dependency on app with no migrations: %s" % key[0]

    问题描述:我在model中建好模型类,运行的控制台就报错误: 解决方法:1,首先需要在setting中重载AUTH_USER_MODEL AUTH_USER_MODEL = 'users.UserPr ...

  9. Android_Fragment

    (一) Faragment有自己的生命周期 Fragment依赖于Activity Fragmen通过getActivity()可以获取所在Activity:Activity通过FragmentMan ...

  10. .net core 3.0 在过滤器读取request.body 里的请求,controller[FromBody]读取不到参数,解决办法

    1,注入IHttpContextAccessor httpContex 2,var req = _httpContext.HttpContext.Request; //  这句很重要,开启读取 否者下 ...