Docker and docker architecture

What is docker and its basic terms?

Docker
Author_1

Ashwini Kumar

Dec. 1, 2021    Views: 150

What is docker?

Docker is an open developer platform for developing, shipping, and running applications as well as projects independently to the host system. Docker enables a feature where you can run your applications separately from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. 

In simple words, we can say that Docker is an open platform where a user can run, develop, deploy, share, and may more quickly and easily use the docker-provided functionality.

 

Docker Architecture

The Docker architecture uses a client-server model and comprises the Docker Client, Docker Host, Network and Storage components, and the Docker Hub.

docker architecture

Docker client

The Docker client provides an interface by which users interact with Docker. The Docker client can reside on the same host system as the daemon or connect to a daemon on a remote host system. A docker client can communicate with more than one daemon. The Docker client provides a command-line interface (CLI) that allows you to build, run, and stop application commands to a Docker daemon.

The main purpose of the Docker Client is to provide a medium to directly pull images from registries and to have them run on a Docker host.

Docker host

The Docker host provides a complete environment to execute and run applications and projects. The daemon is responsible for all container-related actions and receives commands via the CLI or the REST API. It can also communicate with other daemons to manage its services. The 

Docker daemon pulls and builds container images as requested by the client. Once a requested image has been pulled, it builds a working model for the container by utilizing a set of instructions known as a build file. 

The build file can also include instructions for the daemon to pre-load other components prior to running the container, or instructions to be sent to the local command line once the container is built.

There are a few basic terminologies that you will hear while working with the docker.

Let's take an idea about it.

Docker terminology

  • Container
  • Image
  • Base Image
  • Image layer
  • Registry
  • Repository
  • Tag

 

Container

A container is a runnable instance of an image. You can create, start, stop, move, or delete a container using the Docker API or CLI. You can connect a container to one or more networks, attach storage to it, or even create a new image based on its current state.

Image

An image is a read-only template with instructions for creating a Docker container. Most Often, an image is based on another image, with some additional customization.

Base Image

A Base Image is an image that has no parent layer. Typically, a base image contains a fresh copy of an operating system. Base images normally include the tools (yum, rpm, apt-get) necessary to install packages or update the image included in them.

Image Layer

Repositories are often referred to as images or container images, but actually, they are made up of one or more layers. Image layers in a repository are connected together in a parent-child relationship. Each image layer represents changes between itself and the parent layer.

 

Registry

Docker registry is a storage and distribution system for named Docker images. The same image might have multiple different versions, identified by their tags.

Repository

Docker hub repository allows you to share container images with your team, customers, or the Docker community at large. Docker images are pushed to Docker Hub through the docker push command. A single Docker Hub repository can hold many Docker images.

Tag

When an image builder creates a new repository, they will typically label the best image layers to use. These are called tags and typically map to versions of the software contained in the repository.

 

Recommanded Articles
SEO by BitGeekTalks

Let's learn about SEO.

SEO is a well-known practice that are been added to a website to make Google know more about our services and know what does your website provides for a user. In simple words, we can say that SEO i

Backlinks

Backlinks and how to create backlinks

What is a Backlink?

In today's digital world data is gold and these data are been abstracted from the other websites to provide a user the content they are searchin

SEO tools

Top six SEO tools

Let see what are the various tools that are been used to improve the rank of a website to rank in search engines and get traffic over the website.

Now, we are gonna see 6 tools that are v

SEO and keywords - BitGeekTalks

What is SEO and Keywords in SEO?

SEO stands for Search engine optimization. It's a processing to give an upper hand on other websites that let the website be on the top of other websites that provide the same service by provid

TemplateDoesNotExit error: BitGeekTalks

TemplateDoesNotExit error in Django

While going through the development of a Django web app we go through the various commands such as django-admin startproject myproject, django-admin startapp my app, etc. After performing the basic