Summary
In this chapter, we first described the microservice architecture and compared it to monolith applications. We discussed how traditional methods for the development, building, testing, and runtime environments could fail for running microservices in a cloud-native environment. Then, we explored containers in detail and explained why they have become the de facto solution for microservices. Following this, we presented different container runtime environments and introduced Docker. The fundamental concepts of Docker containers were covered, including Docker Engine, client, image, and container terminology. Following the theoretical background, we built Docker images and stored them in registries. Finally, we ran Docker containers by sharing volumes and ports from host systems. At the end of the chapter, we used Docker containers to create a stateful popular MySQL database and a WordPress blog in order to show how multiple containers can work in harmony.
Docker concepts and...