| 
                        副标题[/!--empirenews.page--]
                         Google 在 2018 年下旬开源了一款新的 Java 工具 Jib,可以轻松地将 Java 应用程序容器化。通过 Jib,我们不需要编写 Dockerfile 或安装 Docker,通过集成到 Maven 或 Gradle 插件,就可以立即将 Java 应用程序容器化。 
  
开源地址: https://github.com/GoogleContainerTools/jib 
一、什么是 Jib
Jib 是一个快速而简单的容器镜像构建工具,它作为 Maven 或 Gradle 的一部分运行,不需要编写 Dockerfile 或运行 Docker 守护进程。它从 Maven 或 Gradle 中构建我们的 Docker 镜像, 并只将发生变更的层(而不是整个应用程序)推送到注册表来节省宝贵的构建时间。现在,我们对 Docker 构建流程和 Jib 构建流程进行对比。Docker 构建流程,如下所示。 
Jib 构建流程,则是这样的。 
二、实战出真知
1. 构建一个简单的 Java 工程
我们编写一个简单的 Java 类。 
- public class HelloWorld { 
 -     public static void main(String[] args) { 
 -         System.out.println("Hello World!"); 
 -         System.out.println("http://blog.720ui.com"); 
 -     } 
 - } 
 
  
紧接着,我们再创建一个 pom.xml 文件。 
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 -     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
 -     <modelVersion>4.0.0</modelVersion> 
 -     <groupId>com.lianggzone.sample.lib</groupId> 
 -     <artifactId>helloworld-samples</artifactId> 
 -     <version>0.1</version> 
 -     <packaging>jar</packaging> 
 -     <name>helloworld-samples</name> 
 -     <properties> 
 -         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
 -         <jib-maven-plugin.version>1.0.2</jib-maven-plugin.version> 
 -         <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> 
 -     </properties> 
 -     <dependencies> 
 -     </dependencies> 
 -     <build> 
 -         <plugins> 
 -             <plugin> 
 -                 <groupId>org.apache.maven.plugins</groupId> 
 -                 <artifactId>maven-compiler-plugin</artifactId> 
 -                 <version>${maven-compiler-plugin.version}</version> 
 -                 <configuration> 
 -                     <source>1.8</source> 
 -                     <target>1.8</target> 
 -                 </configuration> 
 -             </plugin> 
 -             <!-- Jib --> 
 -             <plugin> 
 -                 <groupId>com.google.cloud.tools</groupId> 
 -                 <artifactId>jib-maven-plugin</artifactId> 
 -                 <version>${jib-maven-plugin.version}</version> 
 -                 <configuration> 
 -                     <from> 
 -                         <image>registry.cn-hangzhou.aliyuncs.com/lianggzone/oracle_java8</image> 
 -                     </from> 
 -                     <to> 
 -                         <image>registry.cn-hangzhou.aliyuncs.com/lianggzone/jib-helloworld:v1</image> 
 -                     </to> 
 -                     <container> 
 -                         <jvmFlags> 
 -                             <jvmFlag>-Xms512m</jvmFlag> 
 -                             <jvmFlag>-Xdebug</jvmFlag> 
 -                         </jvmFlags> 
 -                         <mainClass>com.lianggzone.HelloWorld</mainClass> 
 -                     </container> 
 -                 </configuration> 
 -                 <executions> 
 -                     <execution> 
 -                         <phase>package</phase> 
 -                         <goals> 
 -                             <goal>build</goal> 
 -                         </goals> 
 -                     </execution> 
 -                 </executions> 
 -             </plugin> 
 -         </plugins> 
 -     </build> 
 - </project> 
 
  
                                                (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |