For the past few months I have been experimenting with docker and have enjoyed the benefits of building and running java applications inside containers.
A few weeks ago I stumbled upon the jib maven plugin and noticed that jib can build images to docker registries without using a docker daemon.
After adding jib to one of my projects and running mvn clean install jib:build
(on a VM which doesn't have docker installed), I was surprised that jib actually built and pushed an image containing my project to a remote registry.
Out of curiosity, I went online to read more about how jib builds and pushes docker images without having docker installed but found little to no information on the subject. I managed to find an article which explains a few ways of creating images without using docker and also tried to understand how the maven goal jib:build
works by reading it's source code but neither of the two gave me any insights on what's happening behind the sceneces when you run jib:build
.
I would greatly appreciate if someone shares more about the jib maven plugin and how it actually builds and pushes an image behind the scenes without using a docker daemon.