📦 Container vs VM
VM = full OS per instance (GB, slow)। Container = shared kernel, isolated process (MB, instant)।
🏗️ Architecture
- Docker Engine (daemon)
- CLI — docker command
- Image — read-only template
- Container — running instance
- Registry — Docker Hub, ECR
📥 Install
curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker $USER newgrp docker docker run hello-world
🎯 Basic Commands
docker pull nginx:alpine docker images docker run -d -p 80:80 nginx docker ps / ps -a docker logs -fdocker exec -it sh docker stop/rm docker system prune -af --volumes
🚀 Real Examples
# MySQL docker run -d --name mysql \ -e MYSQL_ROOT_PASSWORD=secret \ -v mysql-data:/var/lib/mysql \ -p 3306:3306 mysql:8 # Redis docker run -d --name redis -p 6379:6379 \ redis:alpine redis-server --requirepass mypass # Postgres docker run -d --name pg \ -e POSTGRES_PASSWORD=secret \ -v pg-data:/var/lib/postgresql/data postgres:16
🎓 মূল কথা ⭐
Docker = portable, isolated, fast। 1 command → full DB। 2024+ DevOps must-know।