What is Docker?

Docker is a Containerization platform for packaging, deploying, and running applications as Containers.

Similar containerization platforms: Podman

What is Containerization?

Containerization is a lightweight form of virtualization that allows you to encapsulate an application and its dependencies into a self-contained unit called a "container."

Difference between VM and Containers

Containers Virtual Machines
Lightweight, efficient Heavier, more resource usage
Quick start Slower start
Process-level separation Full OS isolation
Highly portable Compatibility concerns
Minimal overhead Higher overhead
Lighter isolation Stronger isolation

Important!

Q: Most Docker images are Linux based. Because Docker is originally designed for the Linux operating system. So here comes the question that how these Linux based images run on other operating systems....?

A: The Docker Desktop that we use basically adds a Lightweight Hypervisor layer to our computer which contains a Linux distributor. Which basically helps to run these Docker Images. And this way we can run Docker image on any computer or system.

Pors & Cons of Containerization over Virtualization

Pors: