Docker

Uygulamaları container'lar içinde paketleyerek her ortamda tutarlı çalışmasını sağlayan platform.

Docker, uygulamalarınızı ve tüm bağımlılıklarını hafif, taşınabilir container'lar içinde paketlemenizi sağlayan bir platformdur. "Works on my machine" problemini ortadan kaldırır.

Container vs Virtual Machine

Container'lar VM'lerden çok daha hafiftir çünkü işletim sistemi çekirdeğini paylaşırlar. Saniyeler içinde başlatılabilir ve minimum kaynak kullanırlar.

Docker Ekosistemi

  • Docker Compose - Multi-container uygulamalar
  • Docker Hub - Image registry
  • Docker Swarm - Container orchestration
Özellikler

Docker Özellikleri

Container İzolasyonu

Uygulamalar birbirinden izole çalışır

Taşınabilirlik

Geliştirme, test, prod aynı container

Versiyon Kontrolü

Image'lar versiyonlanabilir

Hafif

VM'lere göre çok daha az kaynak kullanımı

Docker Compose

Multi-container uygulamaları yönetme

Ölçeklenebilirlik

Yatay ölçeklendirme kolaylığı

Kullanım Alanları

Nerelerde Kullanılır?

Geliştirme Ortamları

Tutarlı geliştirme ortamı kurulumu

LAMP/LEMP stack container'ları

CI/CD Pipeline

Otomatik build ve deployment

Jenkins, GitLab CI entegrasyonu

Microservices

Her servis kendi container'ında

Netflix, Uber mimarisi

Testing

İzole test ortamları

Integration test container'ları
Karşılaştırma

Artıları ve Eksileri

Avantajlar

  • Ortam tutarlılığı (dev = prod)
  • Hızlı deployment ve rollback
  • Kaynak verimliliği
  • Kolay ölçeklendirme
  • Microservices için ideal
  • Büyük topluluk ve ekosistem

Dezavantajlar

  • Öğrenme eğrisi
  • Windows'ta native değil
  • Güvenlik konfigürasyonu gerekli
  • Data persistence dikkat gerektirir
Ön Gereksinimler

Öğrenmek İçin Ne Bilmeli?

Zorunlu
Linux Temelleri

Terminal, dosya sistemi, process'ler

Önerilen
Networking

Port, DNS, network kavramları

Zorunlu
YAML

Compose ve config dosyaları için

SSS

Sıkça Sorulan Sorular

Docker ve VM arasındaki fark nedir?

Docker container'ları OS kernel'ini paylaşır, VM'ler ise tam bir işletim sistemi çalıştırır. Container'lar çok daha hafif ve hızlıdır.

Docker Windows'ta çalışır mı?

Evet, Docker Desktop ile Windows'ta container'lar çalıştırabilirsiniz. WSL2 ile native Linux container desteği de var.

Docker production'da güvenli mi?

Evet, doğru konfigürasyonla. Non-root user, read-only filesystem, network policy gibi best practice'ler uygulanmalı.

Docker ile Proje mi Geliştirmek İstiyorsunuz?

Uzman ekibimizle projelerinizi hayata geçirin veya Akademi'de öğrenmeye başlayın.