Docker is a piece of software that lets you create Linux containers with a specific image format, that is, the Docker image format.
Docker brought Linux containers to a large scale, providing a toolkit for developers and administrators.
In Chapter 4, Building Microservices Using Thorntail, and Chapter 5, Eclipse MicroProfile and Transactions – Narayana LRA, we saw our cloud-native application as microservices. We split the overall application into two frontends and three backends, also using a backing service, such as MySQL, Mongo, and PostreSQL databases run inside a Docker container as a persistence layer. Before running the application itself, we had to run the databases, and then the applications.
This kind of scenario leads to complex governance of the overall system. A first step toward easing the system is to containerize as much as possible. Let's first...