Table of contents
Introduction
Understanding the architecture and terms you will encounter using docker is essential to flow well with docker technology. The docker architecture uses the client-server model with different components communicating with each other. In this article, I will be explaining the docker architecture, its components, and other terms used in docker technology.
The Docker Architecture
The docker architecture uses the client-server model where a request or command is sent from the client-side, and the request is processed in the docker server or the host.
The architecture contains mainly three components, The docker client, the docker host, and the docker registry.
Docker Client: These are commands that are used to interact with the docker host. When commands are sent from the docker client, the docker daemon which is the server receives them in the form of commands sent via the Command Line Interface(CLI) or REST APIs and executes them appropriately. The client can communicate with more than one daemon(server).
Common commands sent by the client include; docker pull, docker run, and docker build.
Docker Host: The host provides an environment to execute and run applications successfully. It includes the docker objects which are used to assemble applications. The objects are; the docker daemon, docker images, docker containers, network, and storage.
It is responsible for receiving commands from the client via CLI or REST APIs and executing them in the Daemon as previously stated.
Docker Registry: The registry provides services to manage and store docker images. They include docker repositories where one or more images can be hosted and downloaded. The registry can either be a Public registry known as docker hub or a private registry.
Terms used in docker
Image: An image is a read_only binary template that contains defined instructions used to create a container and run it. An image can be shared publicly using a public registry or Docker hub or shared privately across a team using a private registry. The image also contains metadata that describes the container's capabilities.
Container: A container is an environment that contains the necessary packages and libraries needed to run an application. They are defined by images and only have access to resources specified in the image. They are more lightweight and can be shipped easily.
Docker Daemon: The Daemon also known as dockerd is a service that runs on the host. It manages other docker objects contained in the host and processes the requests sent by the client.
Docker hub: Docker Hub is a public registry used to store and manage images.
Docker File: This is a text document that contains all instructions needed to create and build images.
Conclusion
In this article, we have learned about the docker architecture and basic terms used in docker technology. In my next article, I will be discussing Installing docker and how to run basic docker commands.
If you find this article useful, kindly leave a reaction and share it with your network.
Thanks for reading!