whatisgithub

What is jib?

googlecontainertools/jib — explained in plain English

Analysis updated 2026-06-24

14,393JavaAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

Google's tool for packaging Java applications into Docker container images directly from Maven or Gradle builds, with no Docker installation needed on your machine.

Mindmap

mindmap
  root((Jib))
    What it does
      Java to container image
      No Docker required
      Registry push built-in
    How it works
      Maven or Gradle plugin
      Layer splitting
      Reproducible builds
    Benefits
      Fast incremental deploys
      No Dockerfile needed
      Works with any registry
    Formats
      Maven plugin
      Gradle plugin
      Standalone CLI
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build and push a Java application to a container registry from your existing Maven or Gradle build without installing Docker.

USE CASE 2

Speed up CI/CD deployments by having Jib re-upload only the changed code layer while leaving unchanged library layers untouched.

USE CASE 3

Produce reproducible container images where the same source code always produces an identical image, down to the byte.

What is it built with?

JavaMavenGradleDockerOCI

How does it compare?

googlecontainertools/jiblanguagetool-org/languagetoolalibaba/arouter
Stars14,39314,47014,489
LanguageJavaJavaJava
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a Maven or Gradle Java project and credentials for a container registry, no Docker daemon needed on your local machine.

So what is it?

Jib is an open-source tool from Google that packages Java applications into container images without requiring Docker to be installed or running on the developer's machine. A container image is a standardized bundle that includes your application and everything it needs to run, making it easy to deploy consistently across different computers and cloud environments. Traditionally, packaging a Java application into a container meant writing a special configuration file called a Dockerfile, then using Docker's own command-line tools to build and push the image. Jib removes all of those steps. Instead, it plugs directly into Maven or Gradle, which are the standard build tools that Java developers already use. You run your normal build command and Jib handles creating and uploading the container image automatically. One of Jib's main advantages is speed. A typical approach puts the entire application into a single layer inside the container. Jib instead splits the application into separate layers: one for the external libraries your code depends on, and another for the code you actually wrote. Because libraries change far less often than your own code, only the changed layer needs to be re-uploaded when you redeploy. This can dramatically cut down the time between making a change and having it live. Jib also produces reproducible builds. Given the same source code and dependencies, it will always produce an identical container image, down to the byte. This means you can be confident that rebuilding does not introduce hidden differences. The tool is available as a Maven plugin, a Gradle plugin, a Java library called Jib Core for more customized use cases, and a standalone command-line tool. It works with any container registry that accepts standard Docker or OCI images, which are two widely supported image formats. Google developed it primarily to work well with their own cloud build and deployment services, but it is not limited to the Google ecosystem.

Copy-paste prompts

Prompt 1
How do I add Jib to my Maven pom.xml to build and push a Java Spring Boot app to Docker Hub? Show the minimal plugin configuration needed.
Prompt 2
I'm using Gradle for my Java project. How do I configure Jib to push my app image to Google Container Registry when I run the build?
Prompt 3
How does Jib's layer caching work, and what do I need to configure to ensure only my changed code gets re-uploaded on each build?
Prompt 4
Can I use Jib without pushing to a registry? Show me how to build the container image to a local tar file or the local Docker daemon instead.

Frequently asked questions

What is jib?

Google's tool for packaging Java applications into Docker container images directly from Maven or Gradle builds, with no Docker installation needed on your machine.

What language is jib written in?

Mainly Java. The stack also includes Java, Maven, Gradle.

How hard is jib to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is jib for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.