Skip to main content

Ten Years of a Docker-Client for Java and a Docker-Plugin for Gradle

·2 mins

Docker started a revolution with its new approach to use containers as abstraction layer for applications. That was the perfect timing for our new products and our thoughts about building and deploying web services.

Others also started Java implementations for the RESTful Docker api, but our requirements didn’t quite match the existing projects and we also wanted to iterate fast enough to adopt to our new learnings and changing requirements. So we implemented our own variants of a Docker client and a Gradle plugin for Java. The integration with Gradle was a bit rough at the edges, but good enough to present our solution at the Gradle Summit (see gesellix.net/gradle-summit-2014-follow-up/ for more details). A little side note: I’m actually quite proud of myself of that presentation: my very first time in front of so many unknown people - in English - far away from home - best experience ever :)

Ten years later, the projects are still alive and healthy. Naturally, they became more mature and stable regarding the feature set. Due to our tendency to play with new tools or concepts, one might also say that the sub-projects und sub-libraries are a bit over-engineered, but hey, developing makes fun!

This article is a little reminder to myself how the projects have grown, how open source contributors have added even more value, and how the whole Docker community has been and still is a place of friendly and constructive exchange.

Some technical details at the end. Here are the “birthday” commit logs of the Docker-Client and the Gradle-Docker-Plugin:

First commit of the Docker-Client
First commit of the Docker-Client

First commit of the Gradle Docker plugin
First commit of the Gradle Docker plugin