Sunday, November 19, 2023

MS Azure Part 3

 Please read the part 1 and part 2 of MS Azure before reading this.

https://dotnetbyudayrajakonda.blogspot.com/2023/11/introduction-to-azure-dev-ops.html

https://dotnetbyudayrajakonda.blogspot.com/2023/11/ms-azure-part-2.html

Docker 









Prerequisites to learn Dockers


The prerequisite is that the readers should be familiar with the basic concepts of Windows and the various programs that are already available on the Windows operating system. In addition, it would help if the readers have some exposure to Linux.

Docker is a container management service. The keywords of Docker are develop, ship and run anywhere. The whole idea of Docker is for developers to easily develop applications, ship them into containers which can then be deployed anywhere.

Features of Docker

With containers, it becomes easier for teams across different units, such as development, QA and Operations to work seamlessly across applications.

You can deploy Docker containers anywhere, on any physical and virtual machines and even on the cloud.
Since Docker containers are pretty lightweight, they are very easily scalable.

Now, what we will be doing is we will keep all the software's in one container










The above images says that we have three containers one with 7.0 version and the other with 6.0 version and other assume as 5.0 version. 

We also need to have Docker Engine and operating system need to be installed inside that server.


Virtualization vs Container








Assume that i have created Three VMS. in that  i have the below memory


1 VM (6 GB )--> 4 GB of memory I am using, and remaining 2 GB I am not using.

2 VM (4 GB)--->3 GB of memory I am using, and remaining 1 GB I am not using.

3 VM(6 GB) ----2 GB of memory I am using, and remaining 4 GB I am not using.











In virtualization   / Docker









Docker is an application which is used to create container on top of physical server or Virtual Machine.

We can also install container in Cloud Server also.


Docker Architecture

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

The Docker daemon

It manages Docker objects such as images, containers, networks, and volumes. A daemon can also communicate with other daemons to manage Docker services.

Docker Architecture

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












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


2. Docker Host

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


Docker Registry

Docker Registry manages and stores the Docker images.

There are two types of registries in the Docker -

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

Private Registry - It is used to share images within the

A Docker registry stores Docker images. Docker Hub is a public registry that anyone can use, and Docker looks for images on Docker Hub by default. You can even run your own private registry.


Docker Objects

Docker Images

Docker images are the read-only binary templates used to create Docker Containers. It uses a private container registry to share container images within the enterprise and also uses public container registry to share container images within the whole world


Docker Architecture



Docker Containers

Containers are the structural units of Docker, which is used 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.


Docker Networking

Using Docker Networking, an isolated package can be communicated. Docker contains the following network drivers -

  • Bridge - Bridge is a default network driver for the container. It is used when multiple docker communicates with the same docker host.
  • Host - It is used 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 used when we want to assign MAC addresses to the containers.

Docker Storage

Docker Storage is used to store data on the container. Docker offers the following 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.

No comments:

Post a Comment

Thank you for visiting my blog

Kubernetes

Prerequisites We assume anyone who wants to understand Kubernetes should have an understating of how the Docker works, how the Docker images...