# Windows Server'da WSL 2 kullanın: Linux araçları ve Docker

> Windows Server 2022 veya 2025 VDS'e WSL 2 kurun, systemd'yi açın, Linux dağıtımında Docker Engine çalıştırın, kaynakları sınırlayın ve bir portu dışarı açın.

Zorluk: Orta

**WSL 2** (Windows Subsystem for Linux), Windows'un hemen içinde gerçek bir Linux çekirdeğiyle bir Linux dağıtımı çalıştırır. Bir Windows VDS'te Windows yazılımlarınızın yanında Linux komut satırı araçları, betikler ve konteynerler sunar. WSL 2 sanallaştırma kullanır, bu yüzden VDS paketlerinin içerdiği iç içe sanallaştırmaya ihtiyaç duyar.

## Başlamadan önce

- **Windows Server 2022 veya 2025** çalışan bir VDS ya da nested dedicated sunucu. Windows Server 2019, Microsoft belgelerindeki elle kurulum adımlarını gerektirir.
- Yönetici olarak Uzak Masaüstü erişimi.

## 1. adım: WSL'i kurun

PowerShell'i yönetici olarak açın:

```powershell
wsl.exe --install
```

Komut gerekli bileşenleri etkinleştirir, Linux çekirdeğini indirir, WSL 2'yi varsayılan yapar ve Ubuntu'yu kurar. Bittiğinde sunucuyu yeniden başlatın:

```powershell
Restart-Computer
```

Yeniden başlatmadan sonra Başlat menüsünden **Ubuntu**'yu açın (veya `wsl` çalıştırın) ve Linux kullanıcı adınızı ve şifrenizi oluşturun.

**Doğrulama:**

```powershell
wsl --list --verbose
```

Dağıtım `VERSION 2` gösterir.

Başka bir dağıtım kurmak için mevcut olanları listeleyin ve adıyla seçin:

```powershell
wsl --list --online
wsl --install -d Debian
```

## 2. adım: systemd'yi açın

Docker gibi hizmetler systemd bekler. Birçok dağıtım imajı onu zaten açık getirir; dağıtımın içinde kontrol edin ve gerekirse açın:

```bash
cat /etc/wsl.conf
sudo nano /etc/wsl.conf
```

Dosyada şu satırlar olmalıdır:

```ini
[boot]
systemd=true
```

Ardından WSL'i PowerShell'den yeniden başlatın:

```powershell
wsl --shutdown
```

**Doğrulama:** dağıtımı yeniden başlatın ve `systemctl list-unit-files --type=service` çalıştırın; hata yerine hizmetleri listeler.

## 3. adım: WSL içine Docker Engine kurun

Docker Desktop Windows Server'da desteklenmez. **Docker Engine**'i Ubuntu dağıtımına tıpkı bir Linux sunucudaki gibi Docker'ın kendi deposundan kurun: WSL içinde [Ubuntu'ya Docker kurma](/guides/install-docker-ubuntu) rehberini izleyin.

**Doğrulama:** WSL içinde `sudo docker run --rm hello-world` "Hello from Docker!" yazar.

## 4. adım: WSL'in belleğini ve CPU'sunu sınırlayın

Varsayılan olarak WSL sanal makinesi sunucunun belleğinin yarısını ve tüm işlemcilerini kullanabilir. Windows'a yer bırakmak için `C:\Users\KullaniciAdiniz\.wslconfig` dosyasını oluşturun:

```ini
[wsl2]
memory=4GB
processors=2
```

Sınırların uygulanması için `wsl --shutdown` çalıştırıp dağıtımı yeniden başlatın.

## 5. adım: Bir Linux hizmetine ulaşın

- **Aynı sunucudaki Windows'tan:** WSL içindeki hizmetler `localhost` üzerinde yanıt verir; örneğin `http://localhost:8080`.
- **İnternetten:** WSL 2 kendi NAT'ının arkasındadır. Microsoft'un anlattığı gibi sunucunun bir portunu WSL adresine yönlendirin ve güvenlik duvarını açın:

```powershell
wsl hostname -I
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=172.30.98.229
New-NetFirewallRule -DisplayName "WSL 8080" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080 -Profile Any
```

`connectaddress` olarak `wsl hostname -I` komutunun yazdığı adresi kullanın. WSL adresi yeniden başlatmadan sonra değişebilir; `netsh interface portproxy show v4tov4` ile kontrol edip kuralı güncelleyin. WSL'deki hizmet yalnızca `127.0.0.1` üzerinde değil, `0.0.0.0` üzerinde dinlemelidir.

## Sorun giderme

**`Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.`** WSL 2 sanallaştırmayı kullanamıyor. Bir VDS'te olduğunuzu, **Virtual Machine Platform** bileşeninin kurulu olduğunu ve sunucunun yeniden başlatıldığını kontrol edin; bkz. [iç içe sanallaştırma sorunları](/guides/nested-virtualization-problems).

**`.wslconfig` veya `wsl.conf` ayarları etkisiz.** WSL bunları ancak sanal makine tamamen durduktan sonra uygular. `wsl --shutdown` çalıştırın, birkaç saniye bekleyin ve yeniden başlatın.

**Yönlendirilen port yeniden başlatmadan sonra çalışmayı bıraktı.** WSL adresi değişti. Port yönlendirmesinin `connectaddress` değerini güncelleyin.

## Sonraki adımlar

- Kendi adres alanı olan tam sanal makineler: [Windows VDS'te Hyper-V](/guides/hyper-v-on-windows-vds).
- Uygulamada konteynerler: [Docker Compose temelleri](/guides/docker-compose-basics).

## Sık sorulan sorular

### Windows Server'a Docker Desktop kurabilir miyim?

Hayır. Docker, Docker Desktop'ın Windows'un sunucu sürümlerinde desteklenmediğini belirtir. Windows Server'da bunun yerine Docker Engine'i WSL Linux dağıtımının içine kurun ya da bir Windows masaüstü imajı kullanın.

### WSL 2 bir Windows VPS'te çalışır mı?

Hayır. WSL 2, Linux'u hafif bir sanal makinede çalıştırır; bu yüzden VDS ve nested dedicated paketlerimizin sunduğu, VPS paketlerinin sunmadığı iç içe sanallaştırmaya ihtiyaç duyar.

### Üretim hizmetlerini WSL'de çalıştırmalı mıyım?

WSL geliştirme ve araçlar için yapılmıştır. Gün boyu çalışması gereken hizmetler için VDS'inizde bir Hyper-V sanal makinesi veya hizmetin sistemle birlikte başladığı bir Linux sunucu kullanın.

### Hangi Linux dağıtımlarını kurabilirim?

Microsoft'un sunduğu dağıtımları görmek için wsl --list --online çalıştırın, ardından birini wsl --install -d ve adıyla kurun. Varsayılan olarak Ubuntu kurulur.

---

Kaynak: <https://hyperdc.com/tr/guides/products/wsl2-on-windows-server>\
Son güncelleme: 2026-10-15
