Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

WSL-ում Docker նախագծի հետ լիարժեք աշխատելու համար դուք պետք է տեղադրեք WSL 2: Գրելու պահին դրա օգտագործումը հնարավոր է միայն որպես Windows Insider ծրագրի մասնակցության մաս (WSL 2-ը հասանելի է 18932 և ավելի բարձր նախագծում): Առանձին-առանձին հարկ է նաև նշել, որ Docker Desktop-ը տեղադրելու և կարգավորելու համար անհրաժեշտ է Windows 10 Pro տարբերակը։

Առաջին քայլեր

Insider ծրագրին միանալուց և թարմացումներ տեղադրելուց հետո դուք պետք է տեղադրեք Linux բաշխում (այս օրինակում՝ Ubuntu 18.04) և Docker Desktop՝ WSL 2 Tech Preview-ով.

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 Windows Store-ից

Երկու կետերում էլ մենք հետևում ենք տեղադրման և կազմաձևման բոլոր հրահանգներին:

Ubuntu 18.04 բաշխման տեղադրում

Նախքան Ubuntu 18.04-ը գործարկելը, դուք պետք է միացնեք Windows WSL-ը և Windows Virtual Machine Platform-ը՝ PowerShell-ում գործարկելով երկու հրաման.

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (պահանջվում է համակարգչի վերագործարկում)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Այնուհետև մենք պետք է համոզվենք, որ մենք կօգտագործենք WSL v2: Դա անելու համար WSL կամ PowerShell տերմինալում գործարկեք հետևյալ հրամանները.

  • wsl -l -v — տեսեք, թե որ տարբերակն է ներկայումս տեղադրված: Եթե ​​1, ապա մենք ավելի ցած ենք շարժվում ցուցակում
  • wsl --set-version ubuntu 18.04 2 - թարմացնել 2-րդ տարբերակին
  • wsl -s ubuntu 18.04 — տեղադրել Ubuntu 18.04 որպես լռելյայն բաշխում

Այժմ դուք կարող եք գործարկել Ubuntu 18.04-ը և կարգավորել այն (նշեք ձեր օգտվողի անունը և գաղտնաբառը):

Docker Desktop-ի տեղադրում

Տեղադրման գործընթացում հետևեք հրահանգներին: Համակարգիչը տեղադրումից հետո և առաջին գործարկումից հետո կպահանջի վերագործարկում Hyper-V-ն ակտիվացնելու համար (որը պահանջում է Windows 10 Pro-ի աջակցություն):

Կարեւոր! Եթե ​​Docker Desktop-ը հաղորդում է, որ արգելափակում է firewall-ը, անցեք հակավիրուսային կարգավորումներ և կատարեք հետևյալ փոփոխությունները firewall-ի կանոններում (այս օրինակում Kaspersky Total Security-ն օգտագործվում է որպես հակավիրուս).

  • Գնացեք Կարգավորումներ -> Անվտանգություն -> Firewall -> Կազմաձևեք փաթեթի կանոնները -> Տեղական ծառայություն (TCP) -> Խմբագրել
  • Հեռացրեք 445 նավահանգիստը տեղական նավահանգիստների ցանկից
  • Պահպանել

Docker Desktop-ը գործարկելուց հետո ընտրեք WSL 2 Tech Preview-ն իր համատեքստի ընտրացանկից:

Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

Բացվող պատուհանում սեղմեք «Սկսել» կոճակը:

Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

Docker-ը և docker-compose-ն այժմ հասանելի են WSL բաշխման շրջանակներում:

Կարեւոր! Թարմացված Docker Desktop-ն այժմ կարգավորումների պատուհանի ներսում ունի WSL ներդիր: WSL աջակցությունն այնտեղ միացված է:

Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

Կարեւոր! Բացի WSL ակտիվացման վանդակից, դուք նաև պետք է ակտիվացնեք ձեր WSL բաշխումը Resources->WSL Integration ներդիրում:

Մշակում Docker-ի հետ Windows ենթահամակարգի համար Linux (WSL)

Գործարկել

Անսպասելին այն բազմաթիվ խնդիրներն էին, որոնք առաջացան Windows-ի օգտատերերի գրացուցակում գտնվող նախագծի բեռնարկղերը բարձրացնելիս:

Տարբեր տեսակի սխալները, որոնք կապված են bash սկրիպտների գործարկման հետ (որոնք սովորաբար սկսվում են անհրաժեշտ գրադարանների և բաշխումների տեղադրման համար կոնտեյներներ կառուցելիս) և Linux-ում մշակման համար սովորական այլ բաների հետ, մեզ ստիպեցին մտածել նախագծերն անմիջապես Ubuntu 18.04-ի օգտատերերի գրացուցակում տեղադրելու մասին:

.

Նախորդ խնդրի լուծումից հետևում է հետևյալը՝ ինչպես աշխատել նախագծի ֆայլերի հետ Windows-ում տեղադրված IDE-ի միջոցով։ Որպես «լավագույն պրակտիկա», ես գտա միայն մեկ տարբերակ ինձ համար՝ աշխատել VSCode-ի միջոցով (չնայած ես PhpStorm-ի երկրպագու եմ):

VSCode-ը ներբեռնելուց և տեղադրելուց հետո անպայման տեղադրեք այն ընդլայնման մեջ Հեռակառավարման ընդլայնման փաթեթ.

Վերը նշված ընդլայնումը տեղադրելուց հետո պարզապես գործարկեք հրամանը code . ծրագրի գրացուցակում, երբ աշխատում է VSCode-ը:

Այս օրինակում nginx-ը պահանջվում է բրաուզերի միջոցով կոնտեյներներ մուտք գործելու համար: Տեղադրեք այն միջոցով sudo apt-get install nginx Պարզվեց, որ դա այնքան էլ պարզ չէ. Նախ, մենք պետք է թարմացնեինք WSL բաշխումը գործարկելով sudo apt update && sudo apt dist-upgrade, և միայն դրանից հետո սկսեք nginx տեղադրումը։

Կարեւոր! Բոլոր տեղական տիրույթները գրանցված են ոչ թե Linux բաշխման /etc/hosts ֆայլում (այն նույնիսկ այնտեղ չէ), այլ Windows 32-ի hosts ֆայլում (սովորաբար գտնվում է C:WindowsSystem10driversetchosts):

Տեղեկատվության աղբյուրներ

Յուրաքանչյուր քայլի ավելի մանրամասն նկարագրությունը կարելի է գտնել այստեղ.

Source: www.habr.com

Добавить комментарий