About Docker Architecture — what’s with Virtualization and Containerization?
Virtualization vs Containerization :
Virtualization — It works on the level of the OS layer. OS kernel will run a single operating system & provide that operating system’s functionality to replicate on each of the isolated partitions.
Containerization — Same as virtualization it also works on the OS layer but the containers in which it doesn’t replicate the OS instead it create a portable container which operates within the working OS.
Virtualization and Containerization in Development:
Let us think about virtualization, here we need an Operating system, Hypervisor. For each instance of the virtual machine requires a separate memory and working space, likewise for all… It may lead to wastage of memory or may slow down the entire operating system.
But in Containerization a container engine replaces all the virtual instances and hypervisor. Multiple applications are build and packaged into a container. Likewise, multiple containers are created. Each of the containers doesn’t interfere with each other. It requires a single operating system to work on.
Docker Architecture:
The goal of the architecture is to make developing teams to make a clear vision of “how a system designed? and how works?”.
In application development, an app may use a wide range of plugins, libraries, tools. If the same need to be developed or deployed in different Environment we need to work on the background to change the properties and source to work with a different environment. But, here docker container is a platform independent it needs only Docker engine.
As the development starts all the pre-requisites, dependencies are stored/converted into a Docker file along with the application and the same is converted into a Docker Image(DI) is a file, comprised of multiple layers, used to execute code in a Docker container. A copy of a docker image is stored in a Docker Hub — Is an online public repository where all the docker images are stored.
Docker Engine:
- The Docker Engine — our lightweight and powerful open source containerization technology combined with a workflow for building and containerizing your applications.
- Docker Hub — our SaaS service for sharing and managing your application stacks.
Benefits of Docker:
- Portable
- Version Control
- Isolation of Applications
- Faster deployment makes for easier management
Keywords Used Today:
- Docker File
- Docker Images
- Docker Container
- Docker Hub/Registry
- Docker Engine(server+client)
Useful Links: