Syncing Data
Elite DevOps Network
Docker is a containerization platform that lets you build, run, and ship applications inside lightweight isolated environments called containers. It was created in 2013 and has since become the standard tool for packaging software in DevOps, cloud, and backend engineering.
Before Docker, deploying an application meant manually installing all its dependencies on every server - and hoping nothing broke between environments. Docker solves this completely.
A Docker container bundles your application code, runtime, libraries, and system dependencies into one portable unit. That unit runs the same way on your laptop, your teammate's machine, and a production server.
Think of it like a shipping container - the same box that loads onto a truck loads onto a ship loads onto a train. The contents don't care what carries them.
| Fact | Detail |
|---|---|
| Web servers | 96% of the world's web servers run Linux β Docker targets this natively |
| Docker containers | Every container is a Linux environment |
| Kubernetes | Every node in a Kubernetes cluster runs containers |
| Cloud providers | AWS, GCP, Azure all use containers as the fundamental compute unit |
| CI/CD | GitHub Actions, GitLab CI, Jenkins all run pipelines inside containers |
| Cost | No licensing fees β Docker is free and open source |
This is the most important concept to understand before going further.
| Feature | Container | Virtual Machine |
|---|---|---|
| Startup time | Milliseconds | Minutes |
| Size | MBs (Ubuntu image = 22 MB) | GBs (Ubuntu VM = 2.3 GB) |
| OS sharing | Shares host kernel | Full guest OS per VM |
| Isolation | Process-level | Full hardware-level |
| Portability | Extremely portable | Depends on hypervisor |
| Performance | Near-native | Overhead from hypervisor |
| Security | Less isolated | More isolated |
| Management | Lightweight, easy | Heavier, complex |
Containers are roughly 100x smaller than equivalent VMs. That is why they are the default unit of deployment in modern infrastructure.
Containers share the host operating system kernel. They do not include a full OS β only the application code and the minimum libraries it needs to run.
What a container image includes:
/bin β basic executables like ls, cp, ps/etc β configuration files/lib β shared libraries the app needs/usr β user utilities and application files/var β logs, temporary dataWhat a container uses from the host OS (not included in the image):
Requires 70%+ score for mastery
Resource Filter
Complete related list of resources
Topic based resources