Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

WSL'de bir Docker projesiyle tam olarak çalışmak için WSL 2'yi yüklemelisiniz. Bu yazının yazıldığı sırada kullanımı yalnızca Windows Insider programına katılımın bir parçası olarak mümkündür (WSL 2, 18932 ve sonraki sürümlerde mevcuttur). Ayrıca Docker Desktop'ı kurmak ve yapılandırmak için Windows 10 Pro sürümünün gerekli olduğunu da ayrıca belirtmekte fayda var.

İlk Adımlar

Insider programına katılıp güncellemeleri yükledikten sonra, bir Linux dağıtımı (bu örnekte Ubuntu 18.04) ve WSL 2 Tech Preview ile Docker Desktop kurmanız gerekir:

  1. Docker Masaüstü WSL 2 Teknik Önizlemesi
  2. Windows Mağazasından Ubuntu 18.04

Her iki noktada da tüm kurulum ve konfigürasyon talimatlarını takip ediyoruz.

Ubuntu 18.04 dağıtımını yükleme

Ubuntu 18.04'ü çalıştırmadan önce PowerShell'de iki komutu çalıştırarak Windows WSL ve Windows Sanal Makine Platformunu etkinleştirmeniz gerekir:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (bilgisayarın yeniden başlatılmasını gerektirir)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Sonrasında WSL v2 kullanacağımızdan emin olmamız gerekiyor. Bunu yapmak için WSL veya PowerShell terminalinde aşağıdaki komutları çalıştırın:

  • wsl -l -v — şu anda hangi sürümün yüklü olduğuna bakın. Eğer 1 ise listede daha aşağıya doğru ilerliyoruz
  • wsl --set-version ubuntu 18.04 2 - sürüm 2'ye güncellemek için
  • wsl -s ubuntu 18.04 — varsayılan dağıtım olarak Ubuntu 18.04'ü yükleyin

Artık Ubuntu 18.04'ü başlatabilir ve yapılandırabilirsiniz (kullanıcı adınızı ve şifrenizi belirtin).

Docker Masaüstünü Yükleme

Kurulum işlemi sırasında talimatları izleyin. Kurulumdan sonra ve ilk açılışta Hyper-V'yi etkinleştirmek için bilgisayarın yeniden başlatılması gerekecektir (bunun için Windows 10 Pro'nun desteklenmesi gerekir).

Önemli! Docker Desktop, güvenlik duvarı tarafından engellendiğini bildirirse antivirüs ayarlarına gidin ve güvenlik duvarı kurallarında aşağıdaki değişiklikleri yapın (bu örnekte antivirüs olarak Kaspersky Total Security kullanılmıştır):

  • Ayarlar -> Güvenlik -> Güvenlik Duvarı -> Paket kurallarını yapılandır -> Yerel Hizmet (TCP) -> Düzenle seçeneğine gidin
  • 445 numaralı bağlantı noktasını yerel bağlantı noktaları listesinden kaldırın
  • Tutmak

Docker Desktop'ı başlattıktan sonra içerik menüsünden WSL 2 Tech Preview'u seçin.

Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

Açılan pencerede Başlat düğmesine tıklayın.

Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

Docker ve docker-compose artık WSL dağıtımında mevcut.

Önemli! Güncellenen Docker Masaüstü artık ayarlar penceresinde WSL içeren bir sekmeye sahip. Burada WSL desteği etkindir.

Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

Önemli! WSL etkinleştirme onay kutusuna ek olarak Kaynaklar->WSL Entegrasyonu sekmesinde WSL dağıtımınızı da etkinleştirmeniz gerekir.

Linux için Windows Alt Sisteminde (WSL) Docker ile Geliştirme

Başlatmak

Beklenmeyen şey, Windows kullanıcı dizininde bulunan proje kapsayıcılarını kaldırmaya çalışırken ortaya çıkan birçok sorundu.

Bash betiklerinin (genellikle gerekli kitaplıkları ve dağıtımları yüklemek için kapsayıcılar oluştururken başlayan) başlatılmasıyla ilişkili çeşitli türlerdeki hatalar ve Linux'ta geliştirme için yaygın olan diğer şeyler, projeleri doğrudan Ubuntu 18.04'ün kullanıcı dizinine yerleştirmeyi düşünmemize neden oldu.

.

Çözümden önceki soruna kadar şu şekildedir: Windows'ta kurulu bir IDE aracılığıyla proje dosyalarıyla nasıl çalışılır. "En iyi uygulama" olarak kendim için tek bir seçenek buldum - VSCode ile çalışmak (her ne kadar PhpStorm hayranı olsam da).

VSCode'u indirip yükledikten sonra uzantıya yüklediğinizden emin olun. Uzaktan Geliştirme uzantı paketi.

Yukarıda belirtilen uzantıyı yükledikten sonra komutu çalıştırmanız yeterlidir. code . VSCode çalışırken proje dizininde.

Bu örnekte, tarayıcı aracılığıyla kapsayıcılara erişmek için nginx gereklidir. Aracılığıyla yükleyin sudo apt-get install nginx O kadar basit olmadığı ortaya çıktı. Öncelikle WSL dağıtımını çalıştırarak güncellememiz gerekiyordu. sudo apt update && sudo apt dist-upgradeve ancak bundan sonra nginx kurulumunu başlatın.

Önemli! Tüm yerel etki alanları, Linux dağıtımının /etc/hosts dosyasında değil (orada bile yoktur), Windows 32'un hosts dosyasında (genellikle C: WindowsSystem10driversetchosts bulunur) kayıtlıdır.

kaynaklar

Her adımın daha ayrıntılı bir açıklamasını burada bulabilirsiniz:

Kaynak: habr.com

Yorum ekle