İçindekiler
Docker ve Kubernetes: Başlangıç Rehberi
Modern uygulama geliştirme ve dağıtımının temel taşları olan Docker ve Kubernetes teknolojilerini bu başlangıç rehberiyle öğrenin.

Doğuş ŞEKERCİ
Founder & CEO
Docker Nedir?
Docker, uygulamaları container (kapsayıcı) içinde paketlemeye ve çalıştırmaya yarayan bir platformdur. Container'lar, uygulamanızı ve tüm bağımlılıklarını izole bir ortamda çalıştırmanızı sağlar.
Docker'ın Avantajları
- Taşınabilirlik: "Bende çalışıyor" sorunu ortadan kalkar
- İzolasyon: Her uygulama kendi ortamında çalışır
- Hız: Saniyeler içinde başlatma
- Verimlilik: VM'lere göre daha az kaynak kullanımı
Docker Temel Kavramlar
Image
Container'ların şablonudur. Uygulamanız ve bağımlılıkları burada tanımlanır.
Container
Image'ın çalışan halidir.
Dockerfile
Image oluşturmak için kullanılan tarif dosyasıdır.

Temel Docker Komutları
# Image çekme
docker pull nginx
# Container çalıştırma
docker run -d -p 80:80 nginx
# Container'ları listeleme
docker ps
# Container durdurma
docker stop <container_id>
# Image oluşturma
docker build -t myapp:1.0 .Örnek Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]Kubernetes Nedir?
Kubernetes (K8s), container'ları otomatik olarak dağıtan, ölçeklendiren ve yöneten bir orkestrasyon platformudur.
Kubernetes'in Faydaları
- Otomatik ölçeklendirme: Trafik artınca pod sayısı artar
- Self-healing: Hatalı container'lar otomatik yeniden başlatılır
- Load balancing: Trafik otomatik dağıtılır
- Rolling updates: Kesintisiz güncelleme
Kubernetes Temel Bileşenler
Pod
Kubernetes'in en küçük deploy edilebilir birimidir.
Deployment
Pod'ların nasıl oluşturulacağını tanımlar.
Service
Pod'lara erişimi sağlayan ağ servisidir.
Namespace
Kaynakları izole etmek için kullanılır.
Örnek Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80Temel kubectl Komutları
# Pod'ları listeleme
kubectl get pods
# Deployment oluşturma
kubectl apply -f deployment.yaml
# Pod ölçeklendirme
kubectl scale deployment nginx --replicas=5
# Log görüntüleme
kubectl logs <pod_name>Sonuç
Docker ve Kubernetes, modern uygulama geliştirmenin vazgeçilmez araçlarıdır. Bu rehber ile temel kavramları öğrendiniz, artık practice yaparak deneyim kazanabilirsiniz.
Docker ve Kubernetes workload'larınız için Bulut Sunucu çözümlerimizi inceleyin!
Bu yazıyı paylaşın
Yorumlar
Bu yazı hakkında okuyucu yorumları

