If you follow my work, you know I’m a big fan of using Docker.

As a software engineer at Velo Payments, I use Docker on a daily basis. Our architecture is primarily Spring Boot Microservices, deployed in Docker containers.

This architecture gives us a tremendous amount of flexibility and scalability.

If you’ve lived with Docker for sometime, you’ll know that one thorn with Docker is the amount of disk space that and get consumed with Docker images.

Hypothetically speaking, let’s say you have a Docker host running 12 microservices in containers. Let’s say the image for each microservice container takes 200 MB of disk space.

Now, let’s also say you’re doing continuous deployments. Everytime a release is performed, another 200 MB image. The previous image does not go away, a new one is downloaded from the repository.

Multiply this by 12 microservices and overtime, a lot of disk space can be consumed.

This is going to be true if you’re just using Docker, Docker Swarm, or Kubernetes. It’s just the nature of how Docker images and layers work.

What if you could change your build process so that instead of 200 MB per release so that only 100 KB is consumed? A fraction of what was previously needed.

This is exactly where using Spring Boot Docker Layers can help.

Check out the full article here.