Chapter 2. Understanding Docker—inside the engine room
This chapter covers
- Docker’s architecture
- Tracing the internals of Docker on your host
- Using the Docker Hub to find and download images
- Setting up your own Docker registry
- Getting containers to communicate with each other
Grasping Docker’s architecture is key to understanding Docker more fully. In this chapter you’ll get an overview of Docker’s major components on your machine and on the network, and you’ll learn some techniques that will develop this understanding.
In the process, you’ll learn some nifty tricks that will help you use Docker (and Linux) more effectively. Many of the later and more advanced techniques will be based on what you see here, so pay special attention to what follows.
Figure 2.1 lays out Docker’s architecture, and that will be the centrepiece of this chapter. We’re going to start with a high-level look and then focus on each part with techniques designed to cement your understanding.
Docker on your host machine is (at the time of writing) split into two parts—a daemon with a RESTful API and a client that talks to the daemon. Figure 2.1 shows your host machine running the Docker client and daemon.
RESTful
A RESTful API is one that uses standard HTTP request types such as GET, POST, DELETE, and others to perform functions that usually correspond to those intended by HTTP’s designers.