您的位置 首页 java

Jib 1.0.0 GA 发布:构建 Java Docker 镜像从未如此简单

为了更方便将 Java 应用程序容器化,Google 于去年推出了 Jib 工具。Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤。

Jib 构建流程

目标

  • 快速 — 快速部署您的更改。Jib 将你的应用程序分成多个层,从类中分离依赖项。你不必等待 Docker 重建整个 Java 应用程序 —— 只需部署更改的层即可
  • 可重现 — 使用相同内容重建容器镜像
  • Daemonless — 减少 CLI 依赖性。从 Maven Gradle 中构建 Docker 镜像,然后推送到你选择的任何 注册表 ,无需编写 Dockerfiles 并调用 docker build/push

Jib 以 Maven 和 Gradle 插件形式提供,可以直接构建 Java 应用的 Docker 和 OCI 镜像的 类库 。它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 —— 只需要将插件添加到构建中,就可以立即将 Java 应用程序容器化。

从去年发布测试版起,开发团队就收到了社区积极的反馈和贡献。现在, Jib 1.0 GA 终于发布了, 这是一个稳定且可用于生产环境的版本

Jib 1.0 值得关注的新特性

对 WAR 项目容器化(Dockerize WAR)

我们知道 Java 编写的 Web 应用程序通常会被打包成 WAR 文件。如今,Jib 已经能够对 WAR 项目进行容器化,且完全无需额外配置。只需要直接运行以下命令:

Maven:

$ mvn package jib: build 
 

Gradle:

$ gradle jib
 

该容器的默认应用服务器为 Jetty,但也可以对基础镜像及 appRoot 进行配置调整,从而使用 tomcat 等其它服务器选项:

Maven ( pom .xml):

<configuration>
 <from>
 <image>tomcat:8.5-jre8-alpine</image>
 </from>
 <to>
 <image>gcr.io/my-project/my-war-image</image>
 </to>
 <container>
 <appRoot>/usr/local/tomcat/webapps/my-webapp</appRoot>
 </container>
</configuration>
 

Gradle (build.gradle):

jib {
 from.image = 'tomcat:8.5-jre8-alpine'
 to.image = 'gcr.io/my-project/my-war-image'
 container.appRoot = '/usr/local/tomcat/webapps/my-webapp'
}
 

文章来源:智云一二三科技

文章标题:Jib 1.0.0 GA 发布:构建 Java Docker 镜像从未如此简单

文章地址:https://www.zhihuclub.com/195810.shtml

关于作者: 智云科技

热门文章

网站地图