#Container Fundamentals

Understand what containers are and why they matter.


#Containers vs VMs

FeatureContainersVMs
IsolationProcess levelHardware level
Boot timeMillisecondsMinutes
SizeMBsGBs
OverheadMinimalSignificant
PortabilityExcellentGood

#Container Architecture

diagram
┌─────────────────────────────────────┐
│           Container 1               │
│  ┌─────────────┐ ┌─────────────┐   │
│  │    App      │ │    Libs     │   │
│  └─────────────┘ └─────────────┘   │
├─────────────────────────────────────┤
│        Container Runtime            │
│       (Docker, containerd)          │
├─────────────────────────────────────┤
│           Host OS (Linux)           │
├─────────────────────────────────────┤
│            Hardware                 │
└─────────────────────────────────────┘

#Key Concepts

ConceptDescription
ImageRead-only template for containers
ContainerRunning instance of an image
RegistryStorage for images (Docker Hub)
LayerImage is built in layers
VolumePersistent storage
NetworkContainer networking

#Benefits

  • Consistency: Same everywhere
  • Isolation: Process isolation
  • Portability: Run anywhere
  • Efficiency: Share OS kernel
  • Scalability: Easy to scale

[!TIP] Pro Tip: "It works on my machine" is solved by containers!