加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

谷歌助力,快速实现 Java 应用容器化

发布时间:2019-04-17 03:48:55 所属栏目:优化 来源:梁桂钊
导读:副标题#e# Google 在 2018 年下旬开源了一款新的 Java 工具 Jib,可以轻松地将 Java 应用程序容器化。通过 Jib,我们不需要编写 Dockerfile 或安装 Docker,通过集成到 Maven 或 Gradle 插件,就可以立即将 Java 应用程序容器化。 开源地址:https://github
副标题[/!--empirenews.page--]

Google 在 2018 年下旬开源了一款新的 Java 工具 Jib,可以轻松地将 Java 应用程序容器化。通过 Jib,我们不需要编写 Dockerfile 或安装 Docker,通过集成到 Maven 或 Gradle 插件,就可以立即将 Java 应用程序容器化。

谷歌助力,快速实现 Java 应用容器化

开源地址: https://github.com/GoogleContainerTools/jib

一、什么是 Jib

Jib 是一个快速而简单的容器镜像构建工具,它作为 Maven 或 Gradle 的一部分运行,不需要编写 Dockerfile 或运行 Docker 守护进程。它从 Maven 或 Gradle 中构建我们的 Docker 镜像, 并只将发生变更的层(而不是整个应用程序)推送到注册表来节省宝贵的构建时间。现在,我们对 Docker 构建流程和 Jib 构建流程进行对比。Docker 构建流程,如下所示。

Jib 构建流程,则是这样的。

二、实战出真知

1. 构建一个简单的 Java 工程

我们编写一个简单的 Java 类。

  1. public class HelloWorld { 
  2.     public static void main(String[] args) { 
  3.         System.out.println("Hello World!"); 
  4.         System.out.println("http://blog.720ui.com"); 
  5.     } 

紧接着,我们再创建一个 pom.xml 文件。

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
  3.     <modelVersion>4.0.0</modelVersion> 
  4.     <groupId>com.lianggzone.sample.lib</groupId> 
  5.     <artifactId>helloworld-samples</artifactId> 
  6.     <version>0.1</version> 
  7.     <packaging>jar</packaging> 
  8.     <name>helloworld-samples</name> 
  9.     <properties> 
  10.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  11.         <jib-maven-plugin.version>1.0.2</jib-maven-plugin.version> 
  12.         <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> 
  13.     </properties> 
  14.     <dependencies> 
  15.     </dependencies> 
  16.     <build> 
  17.         <plugins> 
  18.             <plugin> 
  19.                 <groupId>org.apache.maven.plugins</groupId> 
  20.                 <artifactId>maven-compiler-plugin</artifactId> 
  21.                 <version>${maven-compiler-plugin.version}</version> 
  22.                 <configuration> 
  23.                     <source>1.8</source> 
  24.                     <target>1.8</target> 
  25.                 </configuration> 
  26.             </plugin> 
  27.             <!-- Jib --> 
  28.             <plugin> 
  29.                 <groupId>com.google.cloud.tools</groupId> 
  30.                 <artifactId>jib-maven-plugin</artifactId> 
  31.                 <version>${jib-maven-plugin.version}</version> 
  32.                 <configuration> 
  33.                     <from> 
  34.                         <image>registry.cn-hangzhou.aliyuncs.com/lianggzone/oracle_java8</image> 
  35.                     </from> 
  36.                     <to> 
  37.                         <image>registry.cn-hangzhou.aliyuncs.com/lianggzone/jib-helloworld:v1</image> 
  38.                     </to> 
  39.                     <container> 
  40.                         <jvmFlags> 
  41.                             <jvmFlag>-Xms512m</jvmFlag> 
  42.                             <jvmFlag>-Xdebug</jvmFlag> 
  43.                         </jvmFlags> 
  44.                         <mainClass>com.lianggzone.HelloWorld</mainClass> 
  45.                     </container> 
  46.                 </configuration> 
  47.                 <executions> 
  48.                     <execution> 
  49.                         <phase>package</phase> 
  50.                         <goals> 
  51.                             <goal>build</goal> 
  52.                         </goals> 
  53.                     </execution> 
  54.                 </executions> 
  55.             </plugin> 
  56.         </plugins> 
  57.     </build> 
  58. </project> 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读