What is a docker architecture or things involved in docker architecture?
There are several components involved in docker’s architecture but the most important ones are shown in the picture below.
Main components of docker architecture are:
- docker Server/docker Daemon: Sometimes referred to as server, sometime as daemon but they are one and the same thing, it is the heart of docker because any command which is being run by the user in order to perform any task like creating a docker image or creating a user-defined docker network then at the end this daemon is the reason that task is being performed and completed.
- Rest API: This is nothing but works as a middle man whose only work is to deliver the commands + arguments/parameters from docker-client to docker-server or docker-daemon, and vice-versa.
- docker Client/docker CLI: It is the main thing which is being used directly by the end-user, the user interacts to the docker-daemon with the help of this CLI (command line interface). Things managed by docker-CLI or docker Client are docker Containers, docker Images, docker Networks, docker Volumes.
- Docker Introduction
- CPU Scheduling or Process Scheduling and Scheduling Algorithms
- What is Process Coordination or Process Synchronization?
- What is a semaphore and what problems it helps to solve?