WSL2 + Docker Neden Hâlâ En Mantıklı Kombinasyon?
Windows 11 üzerinde yazılım geliştirenlerin büyük bölümü iki farklı dünyayı aynı anda yönetiyor: Windows uygulamaları ve Linux tabanlı geliştirme araçları. WSL2 (Windows Subsystem for Linux 2), Linux çekirdeğini sanallaştırma katmanıyla çalıştırdığı için klasik WSL1’e göre çok daha hızlı dosya sistemi ve ağ performansı sunuyor. Docker ise mikro servis, test otomasyonu ve yerel geliştirme ortamlarını standartlaştırma konusunda artık neredeyse “varsayılan” araç. Bu rehberde Windows 11’de WSL2 ile Docker kurulumunu adım adım yapacak, ardından sık görülen darboğazları performans odaklı ayarlarla gidereceğiz.
Ön Koşullar: Sürüm ve Özellik Kontrolü
Kuruluma başlamadan önce Windows 11’in güncel olduğundan emin olun. WSL2 için sanallaştırma desteği (BIOS/UEFI üzerinden VT-x/AMD-V) açık olmalı. Kurumsal cihazlarda bu ayar kilitli olabilir; böyle bir durumda BT birimiyle görüşmek gerekir. Ayrıca Hyper-V ve Virtual Machine Platform özellikleri WSL2 için önemlidir.
Windows özelliklerini hızlıca etkinleştirmek için PowerShell’i yönetici olarak açıp şu komutları kullanabilirsiniz:
1) wsl --install
Bu komut WSL’yi kurar, varsayılan olarak bir Linux dağıtımı (genelde Ubuntu) yükler ve gerekli bileşenleri etkinleştirmeye çalışır. Kurulum sonrası yeniden başlatma istenirse ertelemeyin.
WSL2 Dağıtımını Kurma ve Güncelleme
Yeniden başladıktan sonra Ubuntu (veya seçtiğiniz dağıtım) ilk açılışta kullanıcı adı ve parola oluşturmanızı ister. Ardından Linux paketlerini güncellemek iyi bir alışkanlıktır:
sudo apt update && sudo apt upgrade -y
WSL sürümünü kontrol etmek için Windows tarafında şu komutu çalıştırabilirsiniz:
wsl -l -v
Dağıtımınızın “VERSION” sütununda 2 yazdığını görmelisiniz. Eğer 1 ise:
wsl --set-version Ubuntu 2
Docker Desktop Kurulumu ve WSL2 Entegrasyonu
Docker’ı Windows 11’de en sorunsuz yöntemle kullanmak için güncel Docker Desktop tercih ediliyor. Kurulum sırasında “Use WSL 2 instead of Hyper-V” benzeri seçenekler görürseniz WSL2’yi seçin. Kurulumdan sonra Docker Desktop’ı açın ve şu ayarları kontrol edin:
Settings > General: WSL2 tabanlı motor etkin olmalı.
Settings > Resources > WSL Integration: Ubuntu dağıtımınız için entegrasyonu açın.
Bu aşamadan sonra Ubuntu terminalinde Docker komutlarının çalıştığını doğrulayın:
docker version
Test amaçlı basit bir container çalıştırabilirsiniz:
docker run --rm hello-world
Performans İyileştirme: En Kritik 3 Nokta
1) Proje dosyalarını doğru yerde tutun (çok önemli). WSL2 ile çalışırken kaynak kodunuzu Windows dosya sisteminde (ör. C:\Users\...) tutup WSL üzerinden erişmek I/O gecikmesini artırabilir. Docker build süreleri ve testler gereksiz uzar. En iyi pratik, projeyi Linux dosya sisteminde tutmaktır: /home/kullanici/proje. VS Code kullanıyorsanız “Remote - WSL” eklentisiyle projeyi doğrudan WSL içinde açarak hem hızlı hem stabil bir akış elde edersiniz.
2) WSL kaynak limitlerini ayarlayın. Varsayılan durumda WSL2, sistem kaynaklarını dinamik yönetir; bu bazen RAM’in gereksiz şişmesine ya da CPU’nun dengesiz kullanımına yol açabilir. Windows kullanıcı dizininizde bir .wslconfig dosyası oluşturarak limit koyabilirsiniz:
[wsl2]
memory=8GB
processors=4
swap=2GB
Değerleri sisteminize göre uyarlayın. Ardından WSL’yi kapatıp açın: wsl --shutdown. Bu ayar, Docker build ve compose senaryolarında daha öngörülebilir performans sağlar.
3) Docker Desktop kaynaklarını gereksiz şişirmeyin. Docker Desktop tarafında da CPU/RAM limitleri bulunur. Eğer WSL2 motorunu kullanıyorsanız çoğu yük WSL2 üzerinde koşar; yine de ağır compose projelerinde denge önemlidir. Gereğinden fazla CPU vermek her zaman hızlandırmaz; özellikle aynı anda IDE, tarayıcı ve test araçları çalışıyorsa sistem geneli yavaşlayabilir.
Sık Karşılaşılan Sorunlar ve Hızlı Çözümler
Docker komutu bulunamıyor: WSL Integration açık mı kontrol edin. Docker Desktop çalışıyor olmalı. Ubuntu içinde docker komutu hâlâ yoksa dağıtım entegrasyonu kapalı olabilir.
Port çakışması (ör. 3000/5432): Aynı portu kullanan başka bir servis Windows tarafında çalışıyor olabilir. docker ps ile container portlarını kontrol edin ve gerekirse docker compose yapılandırmanızda portları değiştirin.
Dosya izleme (hot reload) yavaş: Proje Windows dizinindeyse WSL içine taşıyın. Ayrıca Node.js gibi araçlarda dosya izleme ayarlarını WSL için optimize eden parametreler gerekebilir, ancak çoğu durumda dosya konumu değişikliği sorunu kökten çözer.
Sonuç: Daha Hızlı Build, Daha Stabil Geliştirme
Windows 11’de WSL2 ile Docker kullanmak, doğru kurulum ve birkaç kritik ayarla hem hızlı hem de üretken bir geliştirme ortamı sunuyor. En büyük kazanım genellikle “dosyaları doğru yerde tutmak” ile geliyor: kaynak kodu WSL dosya sistemine taşıdığınızda build süreleri kısalır, container içi I/O performansı hissedilir biçimde artar. Üstüne .wslconfig ile kaynakları dengelediğinizde sistem stabilitesi belirgin şekilde iyileşir. Eğer yerel geliştirme ortamınızı modernleştirmek istiyorsanız, bu kombinasyon 2025’te de en pratik seçeneklerden biri olmaya devam ediyor.