WSL2 Üzerinde Docker Desktop Kurulumu

Merhaba, önceki yazımızda Windows 10 üzerinde WSL2 ile Ubuntu kurulumunu ve WSL2 ile Backup&Restore Adımlarını ele almıştık.

Ancak bir not düşmek gerekirse, WSL2 üzerinde çalışan Linux dağıtımları Systemd tabanlı değildir. Bu nedenle, Docker konteynerleriniz bu ortamda servis olarak çalışmayacaktır.

Windows Üzerinde Docker Desktop Kurulumu

Docker Desktop Kurulumu

Docker Desktop‘ı kurmak için öncelikle aşağıdaki linkten setup.exe dosyasını indirmeniz gerekmektedir:

Docker Desktop Download

Kurulum dosyasını çalıştırdığınızda karşınıza iki seçenek çıkacaktır:

  1. Install required Windows components for WSL2: Bu seçenek, Docker Desktop‘ı Windows 10 Pro üzerinde çalıştırmak için gerekli olan WSL2 bileşenlerinin kurulumunu sağlar. Önceki yazımızda Windows 10 Pro üzerinde WSL2‘yi kurmuş ve sisteme Ubuntu distrosunu eklemiştik. Şu an için yapmanız gereken, gerekli WSL2 bileşenlerini etkinleştirmektir.
  2. Create a desktop shortcut: Bu seçenek, masaüstünde Docker Desktop için bir kısayol oluşturup oluşturmayacağınızı sorar. Bu, kişisel tercihinize kalmış bir durumdur.

Seçimlerinizi yaptıktan sonra “OK” butonuna tıklayarak Docker Desktop kurulumunu başlatın.

Kurulum tamamlandıktan sonra, sistemden çıkış yapıp tekrar giriş yapmanız istenecektir. Sistemden çıkış yaptıktan sonra tekrar giriş yaptığınızda, sistem tepsisinde Docker Desktop‘ın çalıştığını görebilirsiniz.

Not: WSL2, PowerShell, CMD gibi uygulamaları tek bir pencere üzerinden yönetmek için Windows Terminal‘i kullanıyorum. Windows Terminal‘i Microsoft Store üzerinden sisteminize kurabilirsiniz.

Windows Terminal Download

Bu kurulum adımlarıyla Docker Desktop‘ınızı başarıyla kurmuş olacaksınız ve konteynerlerinizi hızla yönetmeye başlayabilirsiniz.

Visual Studio Code Kurulumu

Visual Studio Code Tanımı

Visual Studio Code (VS Code), Microsoft tarafından geliştirilen, Windows, MacOS ve Linux işletim sistemleri üzerinde çalışabilen hafif ve güçlü bir kaynak kod düzenleyicisi olarak bilinmektedir. Visual Studio, tam donanımlı bir IDE (Tümleşik Geliştirme Ortamı) iken, VS Code yalın haliyle bir metin editörüdür. Ancak, güçlü eklentiler aracılığıyla IDE benzeri özelliklere sahip olabilir. Visual Studio’nun yerleşik olarak sunduğu birçok özellik, VS Code’da eklentiler aracılığıyla sağlanmaktadır.

Visual Studio Code Kullanım Alanları ve Avantajları

VS Code, JSON, YAML gibi dosyalar üzerinde çalışırken kullanıcılara büyük kolaylıklar sunar. Geliştirme ortamınızı kurarken VS Code’un sağladığı esneklikler, dosya düzenlemelerinde etkinlik sağlar. Özellikle WSL2 üzerinde çalışan Ubuntu gibi Linux dağıtımlarında dosya düzenleme işlemlerini VS Code ile rahatlıkla gerçekleştirebilirsiniz. Bu işlem için VS Code’a küçük bir eklenti yüklemeniz yeterlidir.

Ayrıca, Docker geliştirme süreçlerinde de VS Code’un Docker eklentisini kullanarak Dockerfile’larınızı düzenleyebilmektesiniz.

Visual Studio Code Kurulum Adımları

Aşağıdaki link üzerinden Visual Studio Code indirme işlemini gerçekleştirebilirsiniz.

Download Visual Studio Code – Mac, Linux, Windows

Visual Studio Code Winget kullanarak da Kurabilirsiniz;

Winget Kurulumu ve Kullanımı – Cengiz YILMAZ

winget install -e --id Microsoft.VisualStudioCode
  1. Visual Studio Code için Kurulum sözleşmesini kabul etmeniz gerekmektedir.
  2. VS Code’un kurulacağı dizini seçin.
  3. Kurulum sırasında tercihinize göre gerekli seçenekleri işaretleyin.
  4. “Install” butonuna tıklayarak kurulumu başlatın.
  • Kurulum tamamlandığında, VS Code penceresi otomatik olarak açılacaktır.
Not: VS Code, JSON dosyalarını desteklediği için Windows Terminal ayarlarınızı VS Code üzerinden düzenleyebilirsiniz. Windows Terminal'in Preview sürümünde ise, ayarları doğrudan grafik arayüz üzerinden değiştirebilirsiniz.

Visual Studio Code WSL Extensions Kurulum Adımları

Visual Studio Code (VS Code), sistem üzerinde Windows Subsystem for Linux (WSL) aktif olduğunu algıladığında, WSL eklentisini önerir. Bu eklenti, VS Code üzerinden WSL2’de çalışan Ubuntu gibi Linux dağıtımlarında bulunan dosyaları doğrudan düzenlemenizi sağlamaktadır.

  1. VS Code’da beliren uyarı mesajında “Install” butonuna tıklayın.
  2. Eklenti kurulumu otomatik olarak başlar ve kısa süre içinde tamamlanır.

Visual Studio Docker Extension Kurulumu

Visual Studio Code (VS Code), Docker ile çalışmanızı kolaylaştıracak Docker Extension‘ı desteklemektedir. Bu eklenti sayesinde Dockerfile’ları düzenleyebilir, Docker konteynerlerini yönetebilir ve Docker imajlarını görüntüleyebilirsiniz.

  • VS Code’u açın.
  • Sol tarafta bulunan “Extensions” sekmesine tıklayın.
  1. Arama çubuğuna “Docker” yazarak ilgili eklentiyi bulun.
  2. Install” butonuna tıklayarak eklentinin kurulumunu başlatın.

Visual Studio Code Kubernetes Extensions Kurulumu

Visual Studio Code (VS Code), Kubernetes işlemlerini kolaylaştırmak için Microsoft tarafından geliştirilen Kubernetes Extension‘ı desteklemektedir. Bu eklenti ile Kubernetes cluster’larınızı yönetebilir ve Kubernetes namespace’lerini görüntüleyebilirsiniz.

  1. VS Code’u açın: Başlatmak için VS Code uygulamanızı açın.
  2. Extensions sekmesine gidin: Sol menüden “Extensions” sekmesini seçin.
  3. Arama yapın: Arama çubuğuna “Kubernetes” yazın ve arama sonuçlarından Microsoft’un Kubernetes eklentisini bulun.
  4. Eklentiyi yükleyin: Eklenti detay sayfasında yer alan “Install” butonuna tıklayarak eklentinin yüklenmesini başlatın.

Eklenti yüklendikten sonra, VS Code’un sol menüsünde Kubernetes ile ilgili yeni bir sekme görünecektir. Bu sekmede:

  • Kubernetes Clusters: Kurulu olan cluster’larınızı görüntüleyebilirsiniz.
  • Kubernetes Namespaces: Mevcut namespace’leri listeleyebilir ve yönetebilirsiniz.

Visual Studio Code Azure Extensions Kurulumu

Azure ile çalışırken Visual Studio Code (VS Code) platformunu kullanmak, iş akışınızı kolaylaştıracak ve verimliliğinizi artıracak araçlara erişim sağlamaktadır.

Azure Extensions Kurulum Adımları

  1. VS Code’u Açın: İlk adım olarak, VS Code uygulamanızı açın.
  2. Extensions Sekmesine Git: Sol menüden “Extensions” sekmesini seçin.
  3. Azure Extensions Arayın: Arama çubuğuna “Azure” yazarak ilgili Azure eklentilerini aratın.
  4. Eklentiyi Yükleyin: Arama sonuçlarından Azure eklentileri paketini bulun (örneğin, “Azure Tools” ya da spesifik bir servis için “Azure Functions“, “Azure Kubernetes Service” gibi) ve “Install” butonuna tıklayarak yüklemeyi başlatın.

Yüklendikten sonra, VS Code sol menüsünde Azure simgesi belirir ve buradan:

  • Azure Resources: Azure kaynaklarınızı direkt olarak VS Code üzerinden görüntüleyebilir, yönetebilir ve değiştirebilirsiniz.
  • Azure Functions: Azure fonksiyonlarınızı yönetebilir ve geliştirebilirsiniz.
  • Azure Storage: Azure Storage hesaplarınızı yönetebilir ve dosyalarınıza erişebilirsiniz.
  • Azure Kubernetes Service: Kubernetes cluster’larınızı Azure üzerinden yönetebilirsiniz.

Docker Desktop Üzerinde Image Oluşturma

Docker, container teknolojisi ile uygulamalarınızı hızlı ve verimli bir şekilde dağıtabilmenizi sağlayan bir platform olarak bilinmektedir. Docker Desktop, Windows üzerinde Docker’ı kullanmanızı kolaylaştıran bir arayüz sunar. Aşağıda, Docker üzerinden bir image çalıştırarak sistemimizi nasıl test edebileceğiniz üzerine adımlar bulunmaktadır.

Docker Desktop Ayarlarını Doğrulama

  1. Docker Desktop Açın: Docker Desktop uygulamanızı açın.
  2. Ayarlar Menüsüne Girin: Sağ alt köşede bulunan ayarlar simgesine tıklayın.
  3. WSL 2 Ayarını Kontrol Edin: Ayarlar menüsünden “General” sekmesine gidin ve “Use the WSL 2 based engine” seçeneğinin işaretli olduğundan emin olun. Bu seçenek, Docker’ın Windows Subsystem for Linux (WSL 2) çekirdeğini kullanmasını sağlar.

Docker Desktop ile Hello-World Image Çalıştırma

  • Terminal’i Açın: VS Code veya başka bir terminal uygulamasını açın.
  • Docker Komutunu Çalıştırın: Aşağıdaki komutu terminalinize girerek Docker Hub üzerinden hello-world image’ını çalıştırın:
sudo docker run hello-world
    • VS Code Container Sekmesi: Docker image’ınızın çalıştığını ve container’ın durumunu VS Code üzerinden Docker extension‘ını kullanarak görebilirsiniz.
    • Docker Desktop: Aynı zamanda Docker Desktop uygulamasında da container’ın çalıştığını ve logları görüntüleyebilirsiniz.

    Docker Komutlarını SUDO Kullanmadan Çalıştırma Adımları

    Docker kullanırken sudo komutu olmadan işlem yapabilmek için öncelikle Docker grup ayarlarını yapmanız gerekmektedir. Bu ayarlar, güvenlik açısından önemlidir çünkü sudo olmadan Docker komutları çalıştırabilmek, kullanıcıya Docker daemon üzerinde daha fazla erişim sağlar.

    • Docker Grubu oluşturmak için;
    sudo groupadd docker
      • Kullanıcıları Docker Grubuna Dahil etmek için;
      sudo usermod -aG docker $USER
      Bu işlemden sonra bilgisayarınızı yeniden başlatmanız veya oturumu kapatıp açmanız gerekebilir. Bu, grup ayarlarının etkin olması için gereklidir.

        Docker Desktop ile NGINX Deployment

        Docker kullanarak Nginx web sunucusunu kolayca kurabilir ve yönetebilirsiniz. Basit adımlarla nasıl yapılacağı;

        Nginx Container Oluşturma: Docker CLI kullanarak Nginx container’ını başlatmak için aşağıdaki komutu kullanabilirsiniz;

        docker run --name mynginx1 -p 80:80 -d nginx
        • --name mynginx1: Container için bir isim tanımlar.
        • -p 80:80: Host cihazın 80 portundan gelen trafiği container’ın 80 portuna yönlendirir.
        • -d: Container’ı arka planda çalıştırır, böylece terminali serbest bırakır.

        Localhost Üzerinden Nginx Kontrolü: Kurulumun başarılı olduğunu doğrulamak için, web tarayıcınızı açın ve http://localhost adresine gidin. Eğer Nginx başarıyla çalışıyorsa, Nginx’in varsayılan karşılama sayfasını göreceksiniz.

        VS Code ve Docker Desktop Üzerinden Görsel Kontrol:

        • VS Code: Docker extension yardımıyla, mynginx1 container’ınızın durumunu, loglarını ve daha fazlasını kontrol edebilirsiniz.
        • Docker Desktop: Docker Desktop arayüzünde, Nginx container’ınızın aktif olduğunu ve sağlık durumunu görebilirsiniz.

          Bu adımlar, Docker kullanarak bir web sunucusunun nasıl hızlı ve etkin bir şekilde dağıtılacağını ve yönetileceğini göstermektedir. Docker, geliştiricilere ve sistem yöneticilerine esneklik ve kolaylık sağlayarak modern yazılım dağıtım süreçlerini destekler.

          Bir sonraki yazıda daha fazla Docker kullanım senaryosunu ele alacağız. Görüşmek üzere!

          Yorum yapın