An introduction to containers

Nowadays, distributed systems form the base of every application. In turn, the foundation of distributed systems is containers. The goal of containerization is to run resources in an isolated environment. Containers define boundaries and the separation of concerns between the components of a distributed system. This separation of concerns is a way for us to reuse containers by providing parameterized configurations. Another important feature of web services and web applications is scalability. It should be easy to scale up your containers and create new instances.

Docker is a tool that is designed to create, run, and deploy applications using containers. Docker is also referred to as a platform that promotes this technology. Over the last few years, Docker has become somewhat of a buzzword, and it has been adopted by a considerable number of companies, start-ups, and open source projects. Various projects are associated with Docker.

To begin, let's talk about Moby (https://github.com/moby/moby), which is an open source project created by Docker. As a large number of people and communities started to contribute to the project, Docker decided to develop Moby. All contributions to the Moby project, which can be considered as a sort of research and development department of Docker, are open source.

Moby is a framework that is used to build specific container systems. It provides a library of components that are the fundamentals of a container system:

  • OS and container runtime
  • Orchestration
  • Infrastructure management
  • Networking
  • Storage
  • Security
  • Build
  • Image distribution

It also provides the tools that are necessary to build up these components to create a runnable artifact for each platform and architecture. 

If we are looking for more downstream solutions, we have the Docker Community Edition (CE) and Docker Enterprise Edition (EE) versions, which are products that use the Moby project. Docker CE is used by small teams and developers to build their system, while business customers use Docker EE. Both are recommended solutions allowing us to use containerization in development and enterprise environments.

This chapter will use Docker CE to containerize the catalog service. Docker CE and Docker EE are available on the Docker website: https://www.docker.com/. You can download and install the Community Edition by following the steps provided at https://www.docker.com/get-started.
..................Content has been hidden....................

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