This article covers some internals of image layering created by container image builder Jib and explore what distroless images are and their benefits.

Image for post
Image for post
Photo by Kevin Jarrett on Unsplash

Are you are wondering what Jib is, actually?. You probably should read my previous article before going ahead.

Jib is an excellent tool for Java developers who are interested in containerizing Java applications but not so interested in creating and maintaining Dockerfile or installing Docker.

A Java developer can add a plugin to Maven or Gradle, and that’s it. You don’t have to learn new technology just to containerize your Java application. …


Image for post
Image for post
Photo by Fang-Wei Lin on Unsplash

A curated list of books that every experienced Java developer must-read.

Covers topics such as concurrency, microservices, new feature addition in java, best practices, frameworks, etc.

Effective Java

Modern Java

Concurrency In Practice

Java Module System

Cloud-Native Java

Microservices Pattern

Clean Code

Headfirst Design Pattern

SpringBoot In Action

Java Performance Tunning

Further reading

You can continue reading some of my previous articles.


In this article, I will try to explain Java 10 new feature local variable type inference using reserved type name var .

Image for post
Image for post
Photo by Caspar Camille Rubin on Unsplash

Java is changing rapidly and with the new release cycle of 6 months, we are getting new features to try with every release. In Java 10 a new feature Local-Variable Type Inference was added. It was basically aimed at reducing boilerplate code and improving the readability when declaring local variables with initializers.

Programs must be written for people to read, and only incidentally for machines to execute~Harold Abelson

Let’s understand this with an example. Following code is written…


In this article, I will explain how you can enable kubernetes, create a pod, deploy a spring boot application, monitor the single node cluster with Lens IDE on Docker Desktop.

Image for post
Image for post
Image Source Docker

What you will learn

  • How to Enable Kubernetes With Docker Desktop for Mac
  • How to Create a Pod
  • How to Deploy a Working Spring Boot Application on Kubernetes
  • How to Monitor and Manage Kubernetes Cluster with Lens IDE

Moving on, you may not know this, but you very well can have a functional single-node Kubernetes cluster running locally with your Docker Desktop by following the below steps. But wait, what is Docker Desktop?

What is Docker Desktop?

As…


In this article, we will learn how to create a local CI/CD workflow for a Spring Boot Application deployed to Kubernetes using Skaffold.

Image for post
Image for post
Image source Skaffold

It is a known fact that developing applications with Kubernetes is cumbersome. That is the reason there is an ecosystem being developed around it so that developers can focus on what matters most to them i.e. writing code. On that note, in this article, I will be covering another tool Skaffold developed by Google.

So what exactly is Skaffold?

Skaffold handles the workflow for building, pushing and deploying your application.

What problem it is trying to solve?

As I said earlier developing applications with Kubernetes is not so easy…


In this article, we will learn about how to create docker or OCI complaint images without installing any docker client or using Dockerfile for our Spring Boot application. We will be doing all of this with help of Jib.

What is Jib?

Jib is Java containerizer from Google that lets Java developers build containers using the build tools like Maven, Gradle etc.

Image for post
Image for post
Jib(Image source)

But that’s not all what is really interesting about Jib is the fact that you don’t need to know anything about installing docker, maintaining Dockerfile, etc. As a developer, you only care about the artifact(jar, war, etc.) …


In the previous article, we started a simple apache geode docker instance. However, for simplicity, we had not started any locator, server process in that article which we will do now, and not only that we also try to connect to the geode cluster using a simple java geode client and put some data on the running geode docker instance.

Image for post
Image for post
Image Source Apache Geode

If you are not sure about what an Apache Geode is? Read this.

Getting started interactive mode

Let’s try to run a geode cluster with one locator and server process inside the docker container.

Run below command as mentioned in…


In this short article, we will learn about how to run apache geode inside a container. If you don’t know what an apache geode is you should read this.

It is basically an IMDG that is distributed, fault-tolerant(tons of other features) in nature, and allows you to improve your application performance by holding data in memory for fast retrieval.

Basic knowledge of container-run time like docker and geode is required. Ok, so let's gets our hands dirty and proceed further.

  1. It is assumed that you have docker installed on your local. …


As explained in previous article we can trigger builds with minishift when ever we push changes to our github repository. In this article we will cover how we can do that locally using Minishift.

Build Trigger

OpenShift 3 gives you the ability to use the S2I(Source-to-Image) functionality to build docker based images on the fly from existing source code.And then you could also trigger automated builds any time you update your repository. This is supported via webhooks and specifically Github hooks. Following are the steps as mentioned on the Openshift Blog.

Image for post
Image for post

Once you are able to successfully follow the steps…


In this article, I will try to demonstrate how to deploy a simple Spring Boot application on OpenShift (Minishift).

But wait what the hell is OpenShift after all?.

OpenShift is RedHat’s cloud development Platform as a Service (PaaS). It is built on top of Docker containers and the Kubernetes container cluster orchestrator.

Image for post
Image for post

What is Paas?.

Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated…

Ashish Choudhary

Software Engineer | Tech lover | Forever Learner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store