版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjingao/article/details/83542452
jib的基本使用(使用阿里云容器镜像服务拉取镜像)
jib结缘
jib已经出来有3个月了,作为之前研究过docker的人,尝试过一次编译,到处运行的好处,就更加想玩玩jib了,由于jib是基于docker的,如果对docker不了解,可以看我之前的一篇文章https://blog.csdn.net/zhangjingao/article/details/81281156。
jib搭建java环境
只是普通的java环境,本例子作为我写博客的小例子,所以比较简陋,但是例子本身越简单,对新手理解起来越简单。
创建项目
idea使用maven创建简单的java例子即可,我的如下。
在pom文件中引入jib依赖。
<!-- Jib -->
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>0.9.11</version>
<configuration>
<from>
<!-- 这是我的阿里云镜像仓库,换成你们的,下面介绍创建方式 -->
<image>registry.cn-qingdao.aliyuncs.com/jibjava/jibfirst</image>
<auth>
<username>阿里云账号</username>
<password>阿里云密码</password>
</auth>
</from>
<to>
<!-- 这是我的阿里云镜像仓库,换成你们的,下面介绍创建方式 -->
<image>registry.cn-qingdao.aliyuncs.com/jibjava/jibfirst</image>
</to>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
介绍下各参数作为
from:拉取的镜像的配置,默认为gcr.io/distroless/java
to:要生成的镜像的配置
image:拉取或生成的镜像名称
auth: 认证信息,分别为用户名和密码
<!-- 下面四个基本用不到,上面四个足以 -->
container: 容器的属性
jvmFlgs: JVM 容器的参数,和 Dockerfile 的 ENTRYPOINT作用相同
mainClass: 启动类限定名
args: main 方法的传入参数
ports: 容器暴露的端口,和 Dockerfile 的EXPOSE作用相同
然后在idea的maven projects窗口里面看到jib插件,就是安装成功了。
配置阿里云镜像仓库
然后呢,就需要配置from和to这些参数了,如果任由默认设置,翻墙是很难受的,我的情况是浏览器能翻墙但是docs拉取镜像时就是连接超时。所以还是搞个阿里云的私服简单粗暴。
首先在github上创建一个仓库,仓库里可以只有一个Dockerfile文件,Dockerfile里面呢,也很简单,就一句话就行,拉取的镜像可以是默认的或者你自己https://hub.docker.com
里面的。本例github地址为:https://github.com/zhangjingao/jib
。
其次就要配置阿里云镜像仓库了,登录阿里云,然后寻找容器镜像与服务功能(控制台->产品与服务->弹性计算->容器镜像服务)
之后会提醒你绑定github账号,并且选择仓库,选择刚刚创建的github仓库即可。
然后就可以创建镜像仓库了。
创建完镜像仓库后,点击构建,生成拉取构建镜像。此处注意选择海外机器构建,之后会出现成功提示。
然后就大功告成了,回到镜像仓库的地方,点击仓库地址查看仓库地址,这个地址要写到项目中之前配置jib的from和to中,其中from中还要配置你的阿里云账号密码,点击maven projects中的jib:build
就可以创建jib成功了。