Docker Nedir Ve Ne İşe Yarar? Docker Nasıl Kurulur Ve Hangi Amaçla Kullanılır?

E-posta Hosting Kampanya

Docker, modern yazılım geliştirme ve dağıtım süreçlerinin vazgeçilmez araçlarından biridir. Bu yazımızda Docker’ın ne olduğunu, kullanım amaçlarını ve kurulum adımlarını detaylı şekilde inceleyeceğiz.

Docker Ne İşe Yarar?

Docker, uygulamaları “konteynerler” içinde paketlemeye, dağıtmaya ve çalıştırmaya yarayan açık kaynaklı bir platformdur. Bu teknoloji, yazılım uygulamalarının farklı ortamlarda tutarlı bir şekilde çalışmasını sağlar. Temel kullanım amaçları şunlardır:

  • Uygulama izolasyonu sağlama
  • Hızlı geliştirme ve dağıtım süreçleri
  • Kaynak verimliliği
  • Ölçeklenebilirlik
  • Tutarlı çalışma ortamları oluşturma

Docker Sanal Makine midir?

Bu sık sorulan bir sorudur ve yanıtı “hayır”dır. Docker, sanal makinelerden farklı bir teknolojidir. İşte temel farklar:

  1. Kaynak Kullanımı: Docker konteynerleri, işletim sistemi çekirdeğini paylaşır ve çok daha az sistem kaynağı kullanır.
  2. Başlatma Hızı: Konteynerler saniyeler içinde başlatılabilir, sanal makineler ise dakikalar alabilir.
  3. Boyut: Docker imajları genellikle çok daha küçük boyutludur.
  4. İzolasyon Seviyesi: Sanal makineler tam izolasyon sağlarken, Docker konteynerleri işletim sistemi seviyesinde izolasyon sunar.

Docker’ın Temel Özellikleri

Docker Açık Kaynak mı?

Evet, Docker açık kaynak bir projedir. Docker’ın temel bileşenleri açık kaynak olarak geliştirilmektedir ve Docker Engine’in topluluk sürümü (Community Edition) ücretsiz olarak sunulmaktadır. Bu özellik sayesinde:

  • Geniş bir geliştirici topluluğu desteği
  • Sürekli iyileştirme ve güncellemeler
  • Şeffaf geliştirme süreci
  • Ücretsiz kullanım imkanı

Docker Nasıl Başlatılır?

Docker’ı başlatmak için öncelikle sistemimizde kurulu olması gerekir. Temel Docker komutları şunlardır:

# Docker servisini başlatmak için
sudo systemctl start docker

# Docker'ın durumunu kontrol etmek için
sudo systemctl status docker

# Docker'ı sistem başlangıcında otomatik başlatmak için
sudo systemctl enable docker

Bu komutlarla Docker servisini yönetebilir ve konteynerlerinizi çalıştırmaya başlayabilirsiniz.

Docker Kurulumu

Docker’ı farklı işletim sistemlerine kurmanın adımlarını detaylı olarak inceleyelim.

Windows için Docker Kurulumu

  1. Sistem Gereksinimleri:
  • Windows 10 Pro, Enterprise veya Education (64-bit)
  • WSL 2 (Windows Subsystem for Linux)
  • En az 4GB RAM
# WSL 2'yi etkinleştirmek için PowerShell'de:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. Docker Desktop İndirme ve Kurulum:
  • Docker Hub’dan Docker Desktop for Windows’u indirin
  • İndirilen .exe dosyasını çalıştırın
  • Kurulum sihirbazını takip edin

Linux için Docker Kurulumu

Ubuntu örneği üzerinden kurulum adımları:

# Eski sürümleri kaldırma
sudo apt-get remove docker docker-engine docker.io

# Gerekli paketleri yükleme
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

# Docker'ın resmi GPG anahtarını ekleme
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# Docker repository'sini ekleme
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# Docker'ı kurma
sudo apt-get update
sudo apt-get install docker-ce

macOS için Docker Kurulumu

  1. Sistem Gereksinimleri:
  • macOS 10.14 veya üzeri
  • En az 4GB RAM
  1. Kurulum Adımları:
  • Docker Hub’dan Docker Desktop for Mac’i indirin
  • .dmg dosyasını çalıştırın
  • Docker.app’i Applications klasörüne sürükleyin

Docker’ın Temel Kullanımı

Sık Kullanılan Docker Komutları

# Docker imajı çekme
docker pull [imaj_adı]

# Konteyner çalıştırma
docker run [imaj_adı]

# Çalışan konteynerleri listeleme
docker ps

# Tüm konteynerleri listeleme
docker ps -a

# Konteyner durdurma
docker stop [konteyner_id]

# Konteyner silme
docker rm [konteyner_id]

Docker Compose Kullanımı

Docker Compose, birden fazla konteyneri tek bir yapılandırma dosyasıyla yönetmenizi sağlar:

version: '3'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example

Docker’ın Avantajları ve Kullanım Alanları

  1. Geliştirme Ortamları:
  • Hızlı ortam kurulumu
  • Tutarlı geliştirme ortamları
  • “Benim makinemde çalışıyor” sorununu çözme
  1. Mikroservis Mimarileri:
  • Servis izolasyonu
  • Kolay ölçeklendirme
  • Bağımsız dağıtım
  1. CI/CD Pipeline’ları:
  • Otomatik test ortamları
  • Sürekli entegrasyon
  • Hızlı dağıtım süreçleri
  1. Uygulama Dağıtımı:
  • Kolay versiyon kontrolü
  • Hızlı geri alma imkanı
  • Minimum kesinti süresi

Güvenlik ve En İyi Uygulamalar

  1. Konteyner Güvenliği:
  • Resmi imajlar kullanın
  • İmajları düzenli güncelleyin
  • Root olmayan kullanıcılar tercih edin
  1. Performans Optimizasyonu:
  • Multi-stage builds kullanın
  • İmaj boyutlarını küçük tutun
  • Kaynak limitlerini belirleyin

Bu rehber, Docker’ın temel kullanımını ve kurulum adımlarını kapsamlı bir şekilde ele almaktadır. Docker’ı etkin bir şekilde kullanmaya başlamak için bu adımları takip edebilir ve ihtiyaçlarınıza göre özelleştirebilirsiniz.