İçeriğe geç

Ürün belgeleriSanallaştırma ve VDS

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.

  • Orta
  • 25 dk okuma
  • Güncellendi
Bu sayfada
  1. Başlamadan önce
  2. 1. adım: WSL'i kurun
  3. 2. adım: systemd'yi açın
  4. 3. adım: WSL içine Docker Engine kurun
  5. 4. adım: WSL'in belleğini ve CPU'sunu sınırlayın
  6. 5. adım: Bir Linux hizmetine ulaşın
  7. Sorun giderme
  8. Sonraki adımlar

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 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ı.

.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

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.

Şifre Oluştur

Lütfen onaylayın