Containers – the concept and basics

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 will focus on Linux and Windows containers. With the launch of Window Server 2016, we had two different version of containers in Windows—Hyper-V and generic containers. As the concept of Hyper-V containers has since been deprecated, we will not waste time on this concept any further.

The following image describes the design on container services on a high level:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset