Մշակում 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-ով.
Այժմ դուք կարող եք գործարկել 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-ը և docker-compose-ն այժմ հասանելի են WSL բաշխման շրջանակներում:
Կարեւոր! Թարմացված Docker Desktop-ն այժմ կարգավորումների պատուհանի ներսում ունի WSL ներդիր: WSL աջակցությունն այնտեղ միացված է:
Կարեւոր! Բացի WSL ակտիվացման վանդակից, դուք նաև պետք է ակտիվացնեք ձեր WSL բաշխումը Resources->WSL Integration ներդիրում:
Գործարկել
Անսպասելին այն բազմաթիվ խնդիրներն էին, որոնք առաջացան Windows-ի օգտատերերի գրացուցակում գտնվող նախագծի բեռնարկղերը բարձրացնելիս:
Տարբեր տեսակի սխալները, որոնք կապված են bash սկրիպտների գործարկման հետ (որոնք սովորաբար սկսվում են անհրաժեշտ գրադարանների և բաշխումների տեղադրման համար կոնտեյներներ կառուցելիս) և Linux-ում մշակման համար սովորական այլ բաների հետ, մեզ ստիպեցին մտածել նախագծերն անմիջապես Ubuntu 18.04-ի օգտատերերի գրացուցակում տեղադրելու մասին:
.
Նախորդ խնդրի լուծումից հետևում է հետևյալը՝ ինչպես աշխատել նախագծի ֆայլերի հետ Windows-ում տեղադրված IDE-ի միջոցով։ Որպես «լավագույն պրակտիկա», ես գտա միայն մեկ տարբերակ ինձ համար՝ աշխատել VSCode-ի միջոցով (չնայած ես PhpStorm-ի երկրպագու եմ):
Վերը նշված ընդլայնումը տեղադրելուց հետո պարզապես գործարկեք հրամանը 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):
Տեղեկատվության աղբյուրներ
Յուրաքանչյուր քայլի ավելի մանրամասն նկարագրությունը կարելի է գտնել այստեղ.