Docker Architecture

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

Docker Client

  • 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

  • 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

  • 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.

Docker Registry

  • 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

--

--

--

DevOps Engineer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Development Update 07.02–07.16

A Simple Guide to a Single Moving Average Cross Strategy in Python.

We want to grow awareness around TEKI, a new play-to-earn game that will be launched soon, through…

Digital Transformation Requires A New Approach To Application Development

Reflections on Learning to Code

Distributed testing pitfalls with Elixir

Ten PyCharm Features for Python Projects

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Bikram

Bikram

DevOps Engineer

More from Medium

Jenkins Shared Library Configuration

Build Your CI & CD Pipeline with Jenkins

Exploring Docker Layers & Build Target

Using Aliyun-CLI with Docker Very Easily