Docker Architecture and Components Explained
Docker Architecture and Components Explained
The architecture Docker uses is a client-server model. It consists of major components such as Docker’s Client, Docker Host, Network and Storage components, and the Docker Registry/Hub.
At a high level, a docker server is, where the long running processes are managed, that is the daemon processes. To allow communication between the client machine and the docker server, REST API’s made instructions are used to perform functions, what we normally call commands. Client instructs the docker daemon using the command line instructions.
DOCKER ARCHITECTURE AT A HIGH-LEVEL
As shown in the above picture; Using the cli(command line interface), one can communicate with docker server or daemon and pass on the instruction about its usage. The daemon or the docker server creates and manages docker objects like images, containers, volumes and networking of the architecture.
As you know about architecture, it’s time to get deeper into the ocean now.
As shown in the image above, depicts how docker works in real life. Amazing isn’t it? We will go through each components now.
Docker’s Client
Docker users can interact with the docker daemon through a docker client. Client is nothing but the commands which the user fires in order to process requests. Docker client uses the docker REST api which mentioned earlier to sends requests to daemon.
Docker Host
Docker host/ daemon listens for requests coming from the client and manages the docker objects. Docker objects such as images, containers, volumes and network infrastructure.
Docker Registry
Docker registry is the place from where you can download and upload the docker images. In other words, Docker registry contains the docker repositories from where you can download the official and self made docker images to make a suitable environment for your application. Docker has its own public registry named docker hub and docker cloud from where you can download the official images. Apart from public repositories you can make your own private repositories to manage the private self designed images.