Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

WSL'da Docker loyihasi bilan to'liq ishlash uchun siz WSL 2 ni o'rnatishingiz kerak. Yozish vaqtida undan faqat Windows Insider dasturida ishtirok etishning bir qismi sifatida foydalanish mumkin (WSL 2 18932 va undan yuqori versiyalarda mavjud). Docker Desktop-ni o'rnatish va sozlash uchun Windows 10 Pro versiyasi talab qilinishini ham alohida ta'kidlash kerak.

birinchi qadamlar

Insider dasturiga qo'shilganingizdan va yangilanishlarni o'rnatganingizdan so'ng siz Linux distributivini (ushbu misolda Ubuntu 18.04) va WSL 2 Tech Preview bilan Docker Desktop-ni o'rnatishingiz kerak:

  1. Docker Desktop WSL 2 Tech Preview
  2. Windows do'konidan Ubuntu 18.04

Ikkala nuqtada biz barcha o'rnatish va sozlash ko'rsatmalariga amal qilamiz.

Ubuntu 18.04 distributivini o'rnatish

Ubuntu 18.04-ni ishga tushirishdan oldin PowerShell-da ikkita buyruqni ishga tushirish orqali Windows WSL va Windows Virtual Machine Platform-ni yoqishingiz kerak:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (kompyuterni qayta ishga tushirishni talab qiladi)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Keyin biz WSL v2 dan foydalanishimizga ishonch hosil qilishimiz kerak. Buning uchun WSL yoki PowerShell terminalida quyidagi buyruqlarni bajaring:

  • wsl -l -v β€” hozirda qaysi versiya oΚ»rnatilganligini koΚ»ring. Agar 1 bo'lsa, biz ro'yxatni pastga siljitamiz
  • wsl --set-version ubuntu 18.04 2 - 2-versiyaga yangilash uchun
  • wsl -s ubuntu 18.04 β€” standart tarqatish sifatida Ubuntu 18.04 ni o'rnating

Endi siz Ubuntu 18.04 ni ishga tushirishingiz va uni sozlashingiz mumkin (foydalanuvchi nomingiz va parolingizni belgilang).

Docker Desktop o'rnatilmoqda

O'rnatish jarayonida ko'rsatmalarga amal qiling. O'rnatishdan so'ng va birinchi ishga tushirilganda Hyper-V ni yoqish uchun kompyuterni qayta ishga tushirish kerak bo'ladi (qo'llab-quvvatlash uchun Windows 10 Pro kerak).

Muhim! Agar Docker Desktop xavfsizlik devori tomonidan bloklanganligi haqida xabar bersa, antivirus sozlamalariga o'ting va xavfsizlik devori qoidalariga quyidagi o'zgarishlarni kiriting (bu misolda Kaspersky Total Security antivirus sifatida ishlatiladi):

  • Sozlamalar -> Xavfsizlik -> Xavfsizlik devori -> Paket qoidalarini sozlash -> Mahalliy xizmat (TCP) -> Tahrirlash-ga o'ting.
  • Mahalliy portlar ro'yxatidan 445-portni olib tashlang
  • saqlab qolish

Docker Desktop-ni ishga tushirgandan so'ng, kontekst menyusidan WSL 2 Tech Preview-ni tanlang.

Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

Ochilgan oynada Start tugmasini bosing.

Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

Docker va docker-compose endi WSL tarqatishda mavjud.

Muhim! Yangilangan Docker Desktop endi sozlamalar oynasida WSL yorlig'iga ega. U erda WSL qo'llab-quvvatlashi yoqilgan.

Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

Muhim! WSL faollashtirish katagiga qo'shimcha ravishda Resurslar->WSL integratsiyasi yorlig'ida WSL tarqatilishini ham faollashtirishingiz kerak.

Linux uchun Windows quyi tizimida Docker yordamida ishlab chiqish (WSL)

Ishga tushish

Windows foydalanuvchi katalogida joylashgan loyiha konteynerlarini ko'tarishga urinishda paydo bo'lgan ko'plab muammolar kutilmagan edi.

Bash skriptlarini ishga tushirish bilan bog'liq turli xil xatolar (ular odatda kerakli kutubxonalar va tarqatishlarni o'rnatish uchun konteynerlar qurishda boshlanadi) va Linuxda ishlab chiqish uchun odatiy bo'lgan boshqa narsalar bizni loyihalarni to'g'ridan-to'g'ri Ubuntu 18.04 foydalanuvchi katalogiga joylashtirish haqida o'ylashga majbur qildi.

.

Oldingi muammoning yechimidan quyidagilar: Windows-da o'rnatilgan IDE orqali loyiha fayllari bilan qanday ishlash kerak. "Eng yaxshi amaliyot" sifatida men o'zim uchun faqat bitta variantni topdim - VSCode orqali ishlash (garchi men PhpStorm muxlisi bo'lsam ham).

VSCode-ni yuklab olib, o'rnatganingizdan so'ng, uni kengaytmaga o'rnatishni unutmang Masofaviy rivojlanish kengaytmalari to'plami.

Yuqoridagi kengaytmani o'rnatgandan so'ng, buyruqni bajaring code . VSCode ishlayotgan paytda loyiha katalogida.

Ushbu misolda nginx brauzer orqali konteynerlarga kirish uchun talab qilinadi. orqali o'rnating sudo apt-get install nginx Bu unchalik oddiy emasligi ma'lum bo'ldi. Birinchidan, biz ishga tushirish orqali WSL taqsimotini yangilashimiz kerak edi sudo apt update && sudo apt dist-upgrade, va shundan keyingina nginx o'rnatishni boshlang.

Muhim! Barcha mahalliy domenlar Linux distributivining /etc/hosts faylida (hatto u erda ham yo'q) emas, balki Windows 32 ning xostlar faylida (odatda joylashgan C:WindowsSystem10driversetchosts) ro'yxatdan o'tgan.

Axborot manbalari

Har bir bosqichning batafsil tavsifini bu erda topishingiz mumkin:

Manba: www.habr.com

a Izoh qo'shish