Docker Client:

Docker Client is CLI(Command-line-Interface) to communicate with Docker. When we write any commands such as docker run ,it uses the Docker API and sends these commands to docker daemon of Docker_Host. The Docker client can also communicate with more than one daemon.


Docker daemon:

The Docker daemon listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes. A daemon can also communicate with other daemons to manage Docker services.


Docker Hub / registry:

The Docker Hub is a public registry which stores Docker images. When we run the commands to pull or run the docker images, Docker is configured to look for images on Docker Hub by default.


Docker Images:

Docker Image is a read-only template with instructions for creating a Docker container. We can also create our own images and push it to docker repository for public uses.


Docker Containers:

A container is a runnable instance of an image. We can create, start, stop, move, or delete a container using the Docker API or CLI.

By default, a container is relatively well isolated from other containers and its host machine. we can control how isolated a container’s network, storage, or other underlying subsystems are from other containers or from the host machine.

A container is defined by its image as well as any configuration options we provide to it when we create or start it. When a container is removed, any changes to its state that are not stored in persistent storage disappear.

A Container runs a specific task or process .It does not host an Operating System. The life of a container depends upon the process / task which is running into it. When the process stopped or crashed the container also existed.


Docker Desktop:

Docker Desktop is an application for Mac or Windows OS that enables us to build and share containerized applications and microservices. Docker Desktop includes the Docker daemon (dockerd), the Docker client (docker), Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper.