Docker

Containerization Revolution

Containers vs VMs

Virtual Machines

  • • Full OS (GBs)
  • • Slow startup (minutes)
  • • High overhead

Containers

  • • Shared kernel (MBs)
  • • Fast startup (seconds)
  • • Low overhead

Docker Architecture

  • → Docker Client: CLI interface
  • → Docker Daemon: Background service
  • → Docker Registry: Image storage
  • → Images & Containers: Building blocks

Essential Docker Commands

docker pull nginx - Pull image

docker run -d -p 80:80 nginx - Run container

docker ps - List containers

docker logs <id> - View logs

Dockerfile Example

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Docker Volumes & Networks

Volumes

Persist data beyond container lifecycle

Networks

Enable container communication

Key Takeaways

  • ✓ Containers are lightweight and fast
  • ✓ Docker simplifies deployment
  • ✓ Images are built in layers
  • ✓ Use volumes for data persistence
1 / 7