WSL ile Docker Olmadan Linux Konteynerleri Çalıştırma

Microsoft'un WSL Container özelliğiyle Docker gereksinimi olmadan Linux konteynerlerini Windows üzerinde çalıştırın. Kurulum adımları, yetenekler ve sınırlamalar hakkında detaylı rehber.

I
ITWISE
2 görüntülenme
WSL ile Docker Olmadan Linux Konteynerleri Çalıştırma

Giriş

Windows Subsystem for Linux (WSL) üzerinde Docker ya da diğer üçüncü parti araçlar olmadan doğrudan Linux konteynerlerini çalıştırmak artık mümkün. Microsoft'un WSL Container adı verilen yeni özelliği, bu ihtiyacı karşılayan bir public preview sürümünde kullanıma sunuldu. Bu özellik sayesinde, geliştiriciler ve sistem yöneticileri, Windows üzerinde yerel olarak konteynerleri oluşturabilir, yönetebilir ve çalıştırabilirler. Bu makalede, WSL Container'ın kurulumundan başlayarak, temel yeteneklerine, kurumsal entegrasyon noktalarına ve dikkat edilmesi gereken sınırlamalara kadar tüm detayları bulabilirsiniz.

WSL Container Nedir?

WSL Container, Windows Subsystem for Linux'un yerleşik bir parçası olarak sunulan ve Docker Desktop, Podman Desktop ya da diğer üçüncü parti konteyner runtime'ları gerektirmeden Linux tabanlı konteynerleri çalıştırmayı sağlayan bir özelliktir. Bu özellik iki ana bileşenden oluşmaktadır:

  • wslc.exe: Komut satırından konteynerleri yönetmek için kullanılan komut satırı aracı.
  • Container API (NuGet paketi): C, C++ ve C# geliştiricilerinin konteynerleri programatik olarak yönetmesine olanak tanıyan API.

Özellikler ve Avantajlar

WSL Container'ın sunduğu temel özellikler şunlardır:

  1. Docker'sız Konteyner Yönetimi: Docker Desktop'a ihtiyaç duymadan konteynerleri çalıştırma ve yönetme imkanı.
  2. Düşük Kaynak Tüketimi: Doğrudan WSL üzerinde çalıştığı için ekstra bir runtime yükü olmadan daha verimli çalışır.
  3. Windows ve Linux Entegrasyonu: Windows dosya sistemi ve Linux konteynerleri arasında sorunsuz veri paylaşımı.
  4. Geliştirici Deneyimi: Visual Studio ve diğer IDE'ler ile entegrasyon sağlayarak geliştirme sürecini kolaylaştırma.
  5. Kurumsal Kullanım: Active Directory, Group Policy ve diğer kurumsal yönetim araçlarıyla uyumlu çalışma.

Kurulum Adımları

WSL Container'ı kullanmaya başlamadan önce, aşağıdaki ön koşulların sağlandığından emin olun:

  • Windows 10 veya 11 (22H2 veya üzeri).
  • WSL 2'nin kurulu ve etkin olması.
  • Linux dağıtımı olarak Ubuntu, Debian veya diğer desteklenen bir dağıtımın WSL'de yüklü olması.

Adım 1: WSL 2'nin Kurulumu ve Yapılandırılması

  1. Windows PowerShell'i yönetici olarak açın ve aşağıdaki komutu çalıştırın:

    wsl --install

    Bu komut, varsayılan olarak WSL 2'yi ve Ubuntu dağıtımını kuracaktır. Eğer başka bir dağıtım kullanmak istiyorsanız, aşağıdaki komutla kurabilirsiniz:

    wsl --install -d <DağıtımAdı>
  2. WSL 2'nin varsayılan sürüm olduğunu doğrulamak için:

    wsl --set-default-version 2
  3. WSL'i başlatın ve tercih ettiğiniz Linux dağıtımını açın:

    wsl -d Ubuntu

Adım 2: WSL Container Özelliğinin Etkinleştirilmesi

WSL Container özelliği, Windows'un Windows Subsystem for Linux bileşeni içinde yer aldığı için ek bir kurulum gerektirmez. Ancak, bu özelliğin etkinleştirilmiş olduğundan emin olun. Aşağıdaki adımları izleyin:

  1. Windows arama çubuğuna Windows Features yazın ve Windows Features Turn On or Off seçeneğine tıklayın.

  2. Windows Subsystem for Linux ve Virtual Machine Platform seçeneklerinin işaretli olduğundan emin olun. Eğer işaretli değilse, işaretleyin ve OK butonuna tıklayın.

  3. Bilgisayarı yeniden başlatın.

Adım 3: wslc.exe Komut Satırı Aracının Kurulumu

WSL Container'ı yönetmek için kullanılan wslc.exe aracı, Microsoft'un resmi GitHub deposundan indirilebilir. Aşağıdaki adımları izleyin:

  1. Microsoft'un WSL-Container GitHub deposunu ziyaret edin.

  2. En son sürümü indirin ve sisteminize kurun.

  3. Kurulum tamamlandıktan sonra, komut satırını açın ve aşağıdaki komutu çalıştırarak kurulumu doğrulayın:

    wslc --version

Temel Komutlar ve Kullanım

WSL Container'ı kullanmaya başlamak için aşağıdaki temel komutları öğrenmeniz gerekir:

Konteyner Yönetimi

# Yeni bir konteyner oluşturma
wslc create --name my-container --image ubuntu:latest

# Konteynerı başlatma
wslc start my-container

# Çalışan konteynerları listeleme
wslc list

# Konteyner hakkında detaylı bilgi alma
wslc inspect my-container

# Konteynerı durdurma
wslc stop my-container

# Konteynerı silme
wslc delete my-container

Görüntü Yönetimi

# Mevcut görüntüleri listeleme
wslc images

# Yeni bir görüntü indirme
wslc pull ubuntu:latest

# Görüntüyü silme
wslc rmi ubuntu:latest

Geliştirici Entegrasyonu

WSL Container, C, C++ ve C# geliştiricileri için bir NuGet paketi olarak sunulan bir API aracılığıyla programatik erişim sağlar. Bu API sayesinde, geliştiriciler konteynerleri doğrudan kodlarından yönetebilirler.

NuGet Paketinin Kurulumu

Visual Studio'da aşağıdaki adımları izleyerek NuGet paketini kurabilirsiniz:

  1. Visual Studio'yu açın ve projenizi oluşturun.

  2. Projeye sağ tıklayın ve Manage NuGet Packages seçeneğine tıklayın.

  3. Araç çubuğunda Browse sekmesine tıklayın ve Microsoft.WSL.Container paketini arayın.

  4. Paketi projenize ekleyin ve gerekli adımları izleyin.

Temel API Kullanımı (C# Örneği)

using Microsoft.WSL.Container;

// Yeni bir konteyner oluşturma
var container = new WSLContainer("my-container", "ubuntu:latest");
container.Create();

// Konteynerı başlatma
container.Start();

// Konteyner hakkında bilgi alma
var info = container.Inspect();
Console.WriteLine(info.Name);

// Konteynerı durdurma
container.Stop();

// Konteynerı silme
container.Delete();

Kurumsal Entegrasyon

WSL Container, kurumsal ortamlarda da kullanılabilir. Aşağıdaki noktalara dikkat edilmesi gerekir:

Active Directory ve Kimlik Doğrulama

WSL Container, Windows Active Directory ile entegre çalışabilir. Bu sayede, kurumsal kimlik doğrulama sistemlerini kullanarak konteynerlere erişim sağlanabilir. Bunun için aşağıdaki adımları izleyin:

  1. Windows bilgisayarınızın Active Directory domain'ine dahil olun.

  2. WSL Container'ı kullanırken, konteyner içinde çalışan uygulamaların Active Directory kimlik doğrulamasını desteklediğinden emin olun.

Group Policy ile Yönetim

WSL Container, Windows Group Policy aracılığıyla yönetilebilir. Bu sayede, kurumsal politikalar doğrultusunda konteynerlerin oluşturulması ve çalıştırılması kontrol edilebilir. Aşağıdaki adımları izleyin:

  1. gpedit.msc komutunu çalıştırarak Group Policy Editor'i açın.

  2. Computer Configuration > Administrative Templates > Windows Components > Windows Subsystem for Linux yolunu izleyin.

  3. WSL Container ile ilgili politikaları yapılandırın.

Sınırlamalar ve Dikkat Edilmesi Gerekenler

Önemli Uyarı: WSL Container henüz public preview aşamasındadır. Bu nedenle, bazı özellikler eksik olabilir veya stabil olmayabilir. Üretim ortamlarında kullanmadan önce iyice test edin.

Desteklenen Dağıtımlar

WSL Container, aşağıdaki Linux dağıtımlarında desteklenmektedir:

  • Ubuntu
  • Debian
  • Kali Linux
  • Alpine Linux

Diğer dağıtımlar için destek sınırlı olabilir.

Konteyner Ağı

WSL Container, konteynerler için varsayılan olarak bir NAT ağı kullanır. Bu, konteynerlerin yerel ağa doğrudan erişimini sınırlayabilir. Eğer konteynerlerin yerel ağa erişmesi gerekiyorsa, aşağıdaki adımları izleyin:

# Konteyner ağı yapılandırmasını değiştirme
wslc network create --driver=bridge --subnet=192.168.1.0/24

# Konteynerı yeni ağa bağlama
wslc network connect my-network my-container

Depolama ve Performans

WSL Container, konteyner verilerini WSL'in varsayılan depolama konumunda saklar. Bu, performans açısından bazı sınırlamalara neden olabilir. Eğer yüksek performans gerektiren uygulamalar çalıştırıyorsanız, konteyner verilerini farklı bir disk konumuna taşıyabilirsiniz:

# Konteyner verilerini yeni konuma taşıma
wsl --export Ubuntu ubuntu_backup.tar
wsl --import Ubuntu C:\wsl\new-location ubuntu_backup.tar --version 2

Sonuç

WSL Container, Docker Desktop gibi üçüncü parti araçlara bağımlı olmadan Linux konteynerlerini Windows üzerinde çalıştırmak için güçlü bir çözüm sunar. Özellikle geliştiriciler ve sistem yöneticileri için oldukça kullanışlı olan bu özellik, kurulum ve yönetim kolaylığıyla dikkat çekmektedir. Ancak, henüz public preview aşamasında olduğu için bazı sınırlamalar ve eksiklikler bulunmaktadır. Bu nedenle, üretim ortamlarında kullanmadan önce iyice test edilmesi önemlidir. WSL Container'ın gelişimini yakından takip etmek ve yeni özellikleri denemek için Microsoft'un resmi dokümantasyonunu ve GitHub deposunu inceleyebilirsiniz.

Kaynak

4sysops