Docker Architecture

Docker follows Client-Server architecture, which includes a few components.

  • Docker client (user) uses commands and REST APIs to communicate with the Docker Daemon (Server).
  • When a client runs any docker command on the docker client terminal, the client terminal sends these docker commands to the Docker daemon.
  • Docker daemon receives these commands from the docker client in the form of command and REST API’s request.
  • Docker Client uses Command Line Interface (CLI) to run the following commands- docker build, docker pull, docker run, etc.
  • Docker Host is used to providing an environment to execute and run applications.
  • It contains the docker daemon, images, containers, networks, volumes, and storage.
  • Docker Daemon is a docker service that interacts with the operating system and performs all kinds of tasks.
  • A persistent background process that manages Docker images, containers, networks, storage, and volumes.
  • The Docker daemon constantly listens for Docker API requests and processes them.
  • Docker Engine exposes REST API to interact with the Docker client.
  • It stores manage and stores the Docker images.
  • Docker Hub is a public registry that anyone can use.
  • Docker is configured to use images on Docker Hub by default.
  • You can run your own registry on it.
  • you can create one private free repository when you create an account on the Docker hub.
  • Common commands when working with registries include:
docker pushdocker pulldocker run

Cloud and DevOps Enthusiast