Skip to main content
Bulut Bilişim

Docker Nedir? Container Teknolojisi Rehberi

Mart 15, 2026 4 dk okuma 25 views Raw
Docker container teknolojisi ve yazılım geliştirme altyapısı görseli
İçindekiler

Docker Nedir?

Docker, uygulamaları container (kapsayıcı) adı verilen izole ortamlarda paketlemenize, dağıtmanıza ve çalıştırmanıza olanak tanıyan açık kaynaklı bir platformdur. 2013 yılında piyasaya sürülen Docker, yazılım geliştirme ve dağıtım süreçlerinde devrim yaratmıştır.

2026 yılında Docker, modern yazılım geliştirme altyapısının temel bileşenlerinden biri olma konumunu sürdürmektedir. Mikro hizmet mimarisi, CI/CD pipeline'ları ve bulut tabanlı uygulamalarda Docker kullanımı standart haline gelmiştir.

Container Nedir?

Container, bir uygulamayı çalıştırmak için gereken tüm bileşenleri (kod, çalışma zamanı, kütüphaneler, sistem araçları ve ayarlar) tek bir pakette birleştiren hafif ve taşınabilir bir birimdir.

Container vs. Sanal Makine

ÖzellikContainerSanal Makine
Başlatma SüresiSaniyelerDakikalar
BoyutMB düzeyindeGB düzeyinde
İşletim SistemiAna OS çekirdeğini paylaşırKendi OS'ine sahip
Kaynak KullanımıDüşükYüksek
İzolasyonSüreç düzeyindeDonanım düzeyinde
YoğunlukBir sunucuda yüzlerceBir sunucuda onlarca

Container'lar, sanal makinelere kıyasla çok daha hafif ve hızlıdır çünkü tam bir işletim sistemi yerine yalnızca uygulamayı ve bağımlılıklarını içerir.

Docker'ın Temel Bileşenleri

Docker Engine

Docker'ın çekirdek bileşenidir. Container'ları oluşturan, çalıştıran ve yöneten bir istemci-sunucu uygulamasıdır. Docker daemon (arka plan süreci), Docker CLI (komut satırı arayüzü) ve REST API'den oluşur.

Docker Image (İmaj)

Docker image, container'ın şablonudur. Uygulamanızı çalıştırmak için gereken tüm bileşenleri içeren salt okunur bir dosya sistemidir. İmajlar katmanlı bir yapıda oluşturulur ve paylaşılabilir.

Docker Container

Bir Docker image'ının çalışan örneğidir. Container, image'dan türetilir ve uygulamanızı izole bir ortamda çalıştırır. Birden fazla container aynı image'dan oluşturulabilir.

Dockerfile

Docker image'ı oluşturmak için kullanılan talimatları içeren bir metin dosyasıdır. Temel image seçimi, dosya kopyalama, bağımlılık kurulumu ve çalıştırma komutu gibi adımları tanımlar.

Docker Hub

Docker image'larının paylaşıldığı ve saklandığı merkezi bir kayıt defteridir (registry). Resmi image'lar (nginx, node, python) ve topluluk image'ları burada bulunur.

Docker Kurulumu ve Temel Komutlar

Kurulum

Docker'ı işletim sisteminize göre kurabilirsiniz:

  • Windows: Docker Desktop for Windows kurulumu.
  • macOS: Docker Desktop for Mac kurulumu.
  • Linux: Docker Engine doğrudan kurulumu.

Temel Komutlar

  • docker pull: Docker Hub'dan bir image indirin.
  • docker run: Bir image'dan container oluşturun ve çalıştırın.
  • docker ps: Çalışan container'ları listeleyin.
  • docker stop: Bir container'ı durdurun.
  • docker build: Dockerfile'dan yeni bir image oluşturun.
  • docker push: Bir image'ı registry'ye gönderin.
  • docker logs: Container loglarını görüntüleyin.
  • docker exec: Çalışan container'da komut çalıştırın.

Dockerfile Yazma

Etkili bir Dockerfile yazımı için temel prensipler:

  • Hafif temel image seçin: Alpine Linux tabanlı image'lar çok daha küçüktür.
  • Katman sayısını azaltın: RUN komutlarını birleştirerek katman sayısını minimize edin.
  • Multi-stage build kullanın: Derleme ve çalışma ortamlarını ayırarak son image'ın boyutunu küçültün.
  • Gereksiz dosyaları dahil etmeyin: .dockerignore dosyası kullanın.
  • Değişmeyen katmanları önce ekleyin: Docker'ın önbellek mekanizmasından faydalanın.

Docker Compose

Docker Compose, birden fazla container'dan oluşan uygulamaları tanımlamak ve yönetmek için kullanılan bir araçtır. YAML formatında bir yapılandırma dosyasıyla tüm servisleri, ağları ve depolama birimlerini tanımlarsınız.

Docker Compose'un avantajları:

  • Çoklu container uygulamalarını tek bir komutla başlatma ve durdurma.
  • Servisler arası bağımlılıkları yönetme.
  • Geliştirme, test ve üretim ortamları arasında tutarlılık sağlama.
  • Ağ ve depolama yapılandırmasını merkezi olarak yönetme.

Docker'ın Kullanım Alanları

Geliştirme Ortamı Standardizasyonu

"Benim bilgisayarımda çalışıyor" problemini ortadan kaldırır. Tüm ekip üyeleri aynı Docker ortamında çalışarak tutarlılık sağlar.

Mikro Hizmet Mimarisi

Her mikro hizmet ayrı bir container'da çalışarak bağımsız ölçeklendirme, dağıtım ve güncelleme imkanı sunar.

CI/CD Pipeline

Docker, CI/CD süreçlerinde tutarlı derleme ve test ortamları sağlar. Her derleme aynı container ortamında gerçekleşir.

Bulut Tabanlı Dağıtım

Docker container'ları, AWS ECS, Azure Container Instances ve Google Cloud Run gibi bulut hizmetlerinde kolayca dağıtılabilir.

Docker Güvenliği

Docker kullanırken güvenlik en iyi uygulamaları:

  • Resmi image'ları kullanın: Güvenilmeyen kaynaklardan image çekmekten kaçının.
  • Image tarama: Docker Scout veya Trivy gibi araçlarla güvenlik açıklarını tarayın.
  • Root olmayan kullanıcı: Container'ları root kullanıcı yerine sınırlı yetkili bir kullanıcıyla çalıştırın.
  • Image'ları güncel tutun: Temel image'ları düzenli olarak güncelleyin.
  • Gizli bilgileri image'a gömmeyin: Şifre ve API anahtarlarını Docker secrets veya ortam değişkenleri ile yönetin.

Ekolsoft, Docker tabanlı uygulama geliştirme, container mimarisi tasarımı ve DevOps süreçleri konusunda işletmelere profesyonel hizmetler sunmaktadır.

Sonuç

Docker, modern yazılım geliştirme süreçlerinin vazgeçilmez bir aracıdır. Container teknolojisi, uygulamalarınızı taşınabilir, ölçeklenebilir ve tutarlı hale getirerek geliştirmeden üretime kadar tüm süreçleri iyileştirir. Docker'ı öğrenin, Dockerfile'larınızı optimize edin ve Docker Compose ile çoklu servis uygulamalarını kolayca yönetin.

Bu yazıyı paylaş