Container teknolojisi modern deployment'in standardı. Docker container packaging, Kubernetes orchestration. KOBİ için Docker yeterli; enterprise için K8s. "Bende çalışıyordu" sorunu artık tarih.
Docker temelleri
- Image
- App + dependency'lerin snapshot'ı. "Foton".
- Container
- Image'ı çalıştıran instance. "Çalışan foton".
- Dockerfile
- Image'ı nasıl build edileceğini tanımlayan dosya.
- Registry
- Image'ları sakladığın yer. Docker Hub, GHCR, AWS ECR.
Basit Dockerfile (Node.js)
```dockerfile FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "start"] ```
Multi-stage build (production optimize)
Build stage'i ayrı (büyük), runtime stage'i ince (sadece compile output). Final image 200MB yerine 50MB. Modern stack'te standart pattern.
Docker Compose — KOBİ için yeterli
Birden çok container'ı yönet (app + DB + Redis). docker-compose.yml ile tek dosyada tüm stack. Production'da küçük ekip için K8s gerek yok — Docker Compose + Watchtower auto-update yeterli.
Kubernetes ne zaman gerek?
- Yüksek trafik (multi-server scale)
- Multi-region deployment
- Microservice mimarisi (10+ servis)
- Auto-scaling kritik
- Zero-downtime deploy
K8s temel kavramlar
- Pod
- 1+ container'ın bir grup içinde çalıştığı en küçük unit
- Deployment
- Pod'ların replica yönetimi
- Service
- Pod'lara network erişim
- Ingress
- External traffic routing (HTTP/HTTPS)
- ConfigMap
- Config dosyaları
- Secret
- Hassas veriler (API key, password)
Managed K8s seçenekleri
- Google GKE — en olgun managed K8s
- AWS EKS — AWS ekosistemi entegre
- Azure AKS — Microsoft stack
- DigitalOcean Kubernetes — başlangıç dostu fiyat
- Hetzner Cloud Kubernetes — Avrupa, ekonomik
Alternative — Docker'ı basit tutmak
- Caprover — self-host PaaS, Docker üzerine kurulu
- Coolify — açık kaynak Vercel alternatifi
- Dokploy — modern self-host deploy platformu
- Railway — Docker support managed
- Fly.io — global edge deployment
Üretim ortamı için checklist
- .dockerignore — node_modules, .git, build artifacts dahil etme
- Non-root user — security için kullanıcı oluştur
- Health check endpoint — Docker/K8s monitör
- Resource limits — memory + CPU constraint
- Logging stdout/stderr — collector toplar
- Secret management — env file yerine vault
- Image scanning — Trivy, Snyk vulnerability check
Şunu yapmayın: 1GB+ Docker image yapmak
node:latest base image 1.5GB. node:alpine 180MB. Multi-stage build ile 50MB altına inebilirsin. Image boyut deploy hızı + cold start + cost'u etkiler.
NotDocker/K8s production deployment: +90 537 729 40 97 (WhatsApp). KOBİ için Docker Compose veya enterprise K8s setup.