Docker ile Windows Üzerinde İzole Geliştirme Ortamı Kurulumu
Farklı projelerinizde bağımlılık çakışmalarını önlemek için Windows 11 üzerinde WSL 2 altyapısıyla Docker Desktop kurma ve konteyner yönetimi rehberi.
\’Benim Bilgisayarımda Çalışıyordu\’ Problemine Son
Yazılım geliştilirken veya açık kaynaklı bir projeyi test ederken en sık karşılaşılan sorunlardan biri, projenin geliştiricinin bilgisayarında kusursuz çalışıp sizin bilgisayarınızda (farklı Node.js sürümleri, eksik kütüphaneler veya çakışan PHP sürümleri yüzünden) sürekli hata vermesidir. \’Benim bilgisayarımda çalışıyordu\’ (It works on my machine) bahanesini tarihe gömen teknoloji Docker\’dır. Docker, uygulamaları ve tüm bağımlılıklarını \’Konteyner\’ (Container) adı verilen hafif, taşınabilir ve tamamen izole sanal kutularda çalıştırır. Ana işletim sisteminizi kirletmeden her projeyi kendi özel dünyasında ayağa kaldırmanızı sağlar.
WSL 2 Altyapısı ve Docker Desktop Kurulumu
Windows üzerinde Docker çalıştırmak için arka planda Linux çekirdeğine ihtiyaç duyulur. Bu nedenle kurulumdan önce Windows 11\’de WSL 2 (Windows Subsystem for Linux 2) özelliğinin aktif olması şarttır. Docker Desktop\’ın resmi sitesinden indirilen kurulum dosyası çalıştırıldığında, program otomatik olarak WSL 2 entegrasyonunu kurar ve bilgisayar yeniden başlatılır. Masaüstüne gelen balina simgeli Docker Desktop arayüzü açıldığında, sol alttaki yeşil ışık sistemin WSL 2 altyapısıyla sorunsuz çalıştığını gösterir.
İmaj (Image) ve Konteyner (Container) Mantığı
Docker dünyasını anlamak için iki temel kavramı bilmek gerekir: Image ve Container. Image (İmaj), çalıştırılmak istenen ortamın (Örn: Nginx, MySQL, Node.js v20) salt okunur kalıbıdır. Docker Hub üzerinden bu imajlar bilgisayarınıza indirilir. Container ise o imajın çalıştırılmış, içine dosya yazılabilir canlı halidir. `docker run` komutuyla imaj ayağa kaldırılır ve bir konteynere dönüştürülür. Ana makineniz ile konteyner tamamen izole olduğundan, konteyner içinde yapacağınız en büyük hata bile ana Windows sisteminize asla zarar veremez.
Volume (Hacim) Eşleme ile Dosya Paylaşımı
Konteynerler tamamen izole olduğu için, içinde yaptığınız değişiklikler (örneğin veritabanına kaydettiğiniz bir dosya) konteyner silindiğinde kaybolur. Bunu önlemek için Volume (Hacim) eşleme kullanılır. Bilgisayarınızdaki yerel bir klasörü (`C:/Projeler`) doğrudan Docker konteynerinin içine bağlayarak (mount ederek), kodları kendi favori editörünüzde yazarken uygulamanın Docker içinde anlık olarak çalışmasını sağlayabilirsiniz. Bu mimari, geliştirme hızını inanılmaz derecede artırır.
Docker Compose ile Çoklu Servis Yönetimi
Gerçek dünya projelerinde sadece tek bir servis (örneğin sadece web sunucusu) yetersiz kalır; yanında veritabanı (MySQL) ve önbellekleme (Redis) gibi yan servisler de gerekebilir. Her servisi ayrı ayrı komutlarla ayağa kaldırmak zor olduğu için `docker-compose.yml` adında YAML formatında tek bir yapılandırma dosyası kullanılır. Dosya içerisine servisler, port eşlemeleri ve şifreler yazıldıktan sonra tek bir `docker compose up -d` komutuyla tüm altyapı (arka plan, veritabanı, sunucu) saniyeler içinde ayağa kalkar.
Başlangıç Kontrol Listesi
- Kurulumdan önce bilgisayarınızda WSL 2 desteğinin ve sanallaştırmanın açık olduğundan emin olun.
- Docker Desktop arayüzündeki yeşil motor ışığının yanmasını bekleyin.
- Konteyner içi verilerin silinmemesi için mutlaka Volume (hacim) eşlemesi kullanın.
- Gereksiz yer kaplayan durdurulmuş konteynerleri temizlemek için `docker system prune` komutunu kullanın.
Sonuç
Docker, modern yazılım geliştirme süreçlerinin kalbidir. Windows üzerinde WSL 2 entegrasyonuyla birlikte kusursuz bir performans sunarak bağımlılık çakışmalarını tamamen ortadan kaldırır. SoftPusula görselinde Docker Desktop resmi uygulama paneli veya konteyner listesi ekranı kullanılmalı; balina çizimleri veya stok konteyner gemisi fotoğrafları kullanılmamalıdır.
Görüşünüz bize yol gösterir.
Tek dokunuşla değerlendirin. Kişisel bilgi toplanmaz.
SP