Jib
Jib is is a Maven plugin for building Docker and OCI images for your Java applications.
目标
- 快速
快速部署您的变更。Jib将应用程序分成多个层,将依赖项与类分开。现在,您不必等待Docker重新构建整个Java应用程序——只需部署已更改的层。
- 可再现性
—用相同的内容重新构建容器映像总是生成相同的映像。不要再次触发不必要的更新。
- 无守护
减少CLI的依赖性。
从Maven或Gradle中构建Docker映像,并将其推送到您选择的任何注册表。不再编写Dockerfiles并调用docker构建/push。
工作原理
传统上,Java应用程序是用应用程序JAR构建为单个映像层的,而Jib的构建策略将Java应用程序分为多个层,以实现更细粒度的增量构建。 当您更改代码时,只需要重新构建更改,而不是整个应用程序。默认情况下,这些图层都是在distroless的基础图像上分层的。
有关 Bazel 构建系统的类似现有容器映像构建工具,请参见 rules_docker。
快速开始
您可以使用以下命令轻松地包含您的应用程序:
mvn compile com.google.cloud.tools:jib-maven-plugin:0.9.2:build -Dimage=<MY IMAGE>
这将构建并将应用程序的容器映像推送到容器注册表。如果遇到身份验证问题,请参阅身份验证方法。
要构建到Docker守护进程,请使用:
mvn compile com.google.cloud.tools:jib-maven-plugin:0.9.2:dockerBuild
使用 maven 配置
<project>
<!-- ... -->
<build>
<plugins>
<!-- ... -->
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>0.9.2</version>
<configuration>
<to>
<image>myimage</image>
</to>
</configuration>
</plugin>
<!-- ... -->
</plugins>
</build>
<!-- ... -->
</project>