Chapter 1: Introduction to Docker
Docker is a technology that allows entire applications and their environments to be encapsulated within individual containers. When multiple versions of these containers are run on a single machine, they are sandboxed from one another as if running on their own dedicated machines.
Docker is open source, which fits well with running Linux in containers, as well as numerous available open source components that help build complex systems. It is the logical progression of technologies used for hosting and backend development over the past decade or longer. This progression has moved from a physical kind of hosting to a logical one and has been driven by several requirements. These requirements include reliability, reachability, scalability, and security.
This book is divided into three sections. The first is an introduction to Docker, focusing on local development. The second describes the methodology for testing, deploying, and scaling applications. The third goes into detail about security when using a container-based design.
In this chapter, we will review the history of hosting and backend solutions with a focus on how Docker came to be a widely used technology.
The following topics will be covered in this chapter:
- Origins of hosting services
- Types of hosting services – co-location
- Types of hosting services – self-hosting
- The benefits of data centers
- How virtualization works
- The power requirements at data centers
- How virtualization is a solution for data centers and the invention of the cloud
- How containers are a bigger win for data centers and hosting