Deep dive into Docker Architecture

Last updated on Sep 16 2022
Neha Warghade

Table of Contents

Deep dive into Docker Architecture

Docker Architecture

Before learning the Docker architecture, first, you you ought know about the Docker Daemon.

What is Docker daemon?

Docker daemon runs on the host operating system. It is responsible for running containers to manage docker services. Docker daemon communicates with other daemons. It offers various Docker objects such as images, containers, networking, and storage. s

Docker architecture

Docker follows Client-Server architecture, which includes the three main components that are Docker Client, Docker Host, and Docker Registry.

doc 19

1. Docker Client

Docker client 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 within the form of command and REST API’s request.

Note: Docker Client has an ability to communicate with more than one docker daemon.

Docker Client uses Command Line Interface (CLI) to run the subsequent commands –

docker build

docker pull

docker run

2. Docker Host

Docker Host is employee to provide an environment to execute and run applications. It contains the docker daemon, images, containers, networks, and storage.

3. Docker Registry

Docker Registry manages and stores the Docker images.

There are two types of registries within the Docker –

Pubic Registry – Public Registry is also called as Docker hub.

Private Registry – It is employee to share images withwithin the enterprise.

Docker Objects

There are the subsequent Docker Objects –

Docker Images

Docker images are the read-only binary templates employee to create Docker Containers. It uses a private container registry to share container images withwithin the enterprise and also uses public container registry to share container images withwithin the whole world. Metadata is also employee by docket images to describe the container’s abilities.

Docker Containers

Containers are the structural units of Docker, which is employee to hold the entire package that is needed to run the application. The advantage of containers is that it requires very less resources.

In other words, we can say that the image is a template, and the container is a copy of that template.

doc 20

Docker Networking

Using Docker Networking, an isolated package can be communicated. Docker contains the subsequent network drivers –

  • Bridge – Bridge is a default network driver for the container. It is employee when multiple docker communicates with the same docker host.
  • Host – It is employee when we don’t need for network isolation between the container and the host.
  • None – It disables all the networking.
  • Overlay – Overlay offers Swarm services to communicate with each other. It enables containers to run on the different docker host.
  • Macvlan – Macvlan is employee when we want to assign MAC addresses to the containers.

Docker Storage

Docker Storage is employee to store data on the container. Docker offers the subsequent options for the Storage –

  • Data Volume – Data Volume provides the ability to create persistence storage. It also allows us to name volumes, list volumes, and containers associates with the volumes.
  • Directory Mounts – It is one of the best options for docker storage. It mounts a host’s directory into a container.
  • Storage Plugins – It provides an ability to connect to external storage platforms.

Components of Docker

Docker has the subsequent components

  • Docker for Mac − It allows one to run Docker containers on the Mac OS.
  • Docker for Linux − It allows one to run Docker containers on the Linux OS.
  • Docker for Windows − It allows one to run Docker containers on the Windows OS.
  • Docker Engine − It is employee for building Docker images and creating Docker containers.
  • Docker Hub − This is the registry which is employee to host various Docker images.
  • Docker Compose − This is employee to define applications using multiple Docker containers.

We will discuss all these components in detail within the subsequent chapters.

The official site for Docker is https://www.docker.com/ The site has all information and documentation about the Docker software. It also has the download links for various operating systems.

So, this brings us to the end of blog. This Tecklearn ‘Deep dive into Docker Architecture’ blog helps you with commonly asked questions if you are looking out for a job in DevOps. If you wish to learn Docker and build a career in DevOps domain, then check out our interactive, Containerization using Docker Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/containerization-using-docker/

Containerization using Docker Training

About the Course

Tecklearn has specially designed this Containerization using Docker Training Course to advance your skills for a successful career in this domain. his Docker training online course will help you learn Docker containerization, running Docker containers, Docker image creation, Dockerfile, Docker orchestration, security best practices and more through hands-on projects and case studies. Upon completion of this online training, you will hold a solid understanding and hands-on experience with Docker.

Why Should you take Containerization using Docker Training?

  • Average salary of Docker Expert is $110k – Indeed.com
  • According to Grand View Research, the DevOps market size is estimated to be worth $12.85 billion by 2025. DevOps professionals are highly paid and in-demand throughout industries including retail, eCommerce, finance, and technology.
  • Intuit, PayPal, Splunk, Uber & many other MNC’s worldwide use Docker across industries

What you will Learn in this Course?

Introduction to DevOps

  • What is Software Development
  • Software Development Life Cycle
  • Why DevOps?
  • What is DevOps?
  • DevOps Lifecycle
  • DevOps Tools
  • Benefits of DevOps
  • How DevOps is related to Agile Delivery
  • DevOps Implementation

Containerization using Docker – Part 1

  • Introduction to Docker
  • Understanding Docker Lifecycle
  • Docker Architecture
  • Components of Docker Ecosystem
  • Common Docker Operations
  • Committing changes in a Container
  • Hands On

Containerization using Docker – Part 2

  • Building Custom Docker Images
  • Docker Image
  • Introduction to Docker Swarm
  • Deploying a 2-Node Cluster using Docker Swarm
  • Hands on

 

0 responses on "Deep dive into Docker Architecture"

Leave a Message

Your email address will not be published. Required fields are marked *