龙空技术网

Jib 1.0.0 GA 发布:构建 Java Docker 镜像so easy!

软件巴士 454

前言:

眼前大家对“java巴士”可能比较关心,你们都需要剖析一些“java巴士”的相关内容。那么小编在网摘上汇集了一些有关“java巴士””的相关资讯,希望咱们能喜欢,姐妹们一起来学习一下吧!

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

Docker 构建流程

Jib 构建流程

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'}

标签: #java巴士