Docker

Docker is a platform that uses OS-level virtualization to deliver software in packages called containers.

## Containers vs. Virtual Machines
- Virtual Machines: Each VM includes a full copy of an operating system, the application, and necessary binaries. This makes them slow to start and resource-heavy.
- Docker Containers: Containers share the host system's kernel. They only include the application and its specific dependencies. This makes them 10x to 100x more efficient than VMs and allows them to start in milliseconds.

        graph LR
  Center["Docker"]:::main
  Pre_operating_systems["operating-systems"]:::pre --> Center
  click Pre_operating_systems "/terms/operating-systems"
  Rel_kubernetes["kubernetes"]:::related -.-> Center
  click Rel_kubernetes "/terms/kubernetes"
  Rel_microservices["microservices"]:::related -.-> Center
  click Rel_microservices "/terms/microservices"
  Rel_devops["devops"]:::related -.-> Center
  click Rel_devops "/terms/devops"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explain Like I'm 5

📦 A tool that puts your software in a 'magic box' so it works exactly the same on your laptop, a server, or a cloud provider.

🤓 Expert Deep Dive

## Containers vs. Virtual Machines
- Virtual Machines: Each VM includes a full copy of an operating system, the application, and necessary binaries. This makes them slow to start and resource-heavy.
- Docker Containers: Containers share the host system's kernel. They only include the application and its specific dependencies. This makes them 10x to 100x more efficient than VMs and allows them to start in milliseconds.

🔗 Related Terms

Prerequisites:

📚 Sources