Containers are a mechanism to run software reliably even when moving them from one computer environment to another. The open sources project Docker in Linux has provided such a service for some years now. It containerizes the application and its dependencies (OS and underlying infrastructure) and abstracts the interaction between each; they isolate applications from each other but use a shared OS. This idea works based on the microservice design of services, because it performs as a service that is independent, flexible, and scalable by default, using predefined APIs for communications:
The basic features of containers are as follows:
- They are run-everywhere apps
- They are developed on a microservice-style architecture
- They enable a higher density of resources
The generic platform for running these containerized applications is Docker, which is available for the following:
- Windows containers
- Docker for Linux
- Docker for Mac
- Boot2Docker
- VirtualBox
In this chapter, we...