Docker-ը և VMWare Workstation-ը նույն Windows մեքենայի վրա
Առաջադրանքը պարզ էր, Docker-ը դրեք իմ աշխատող Windows նոութբուքի վրա, որն արդեն կենդանաբանական այգի ունի։ Ես տեղադրեցի Docker Desktop-ը և ստեղծեցի կոնտեյներներ, ամեն ինչ կարգին է, բայց ես արագ հայտնաբերեցի, որ VMWare Workstation-ը դադարեցրել է վիրտուալ մեքենաների աշխատանքը սխալմամբ.
VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard.
Աշխատանքները դադարեցվել են, շտապ վերանորոգվում է
Գուգլի միջոցով պարզվեց, որ այս սխալը տեղի է ունենում նույն մեքենայի վրա VMWare Workstation-ի և Hyper-V-ի անհամատեղելիության պատճառով։ Խնդիրը հայտնի է, և կա այսպիսի պաշտոնական VMWare լուծում ուղղել, Microsoft-ի գիտելիքի բազայի հղումով Կառավարեք Windows Defender Credential Guard-ը. Լուծումը Defender Credential Guard-ի անջատումն է (Ինձ օգնեց Անջատել Windows Defender Credential Guard-ի 4-րդ կետը).
Վերագործարկվելուց հետո Windows-ը կհարցնի, արդյոք իսկապես ցանկանում եք անջատել Defender Credential Guard-ը: Այո՛ Այս կերպ VMWare Workstation-ը կվերադառնա նորմալ աշխատանքի, և մենք կհայտնվենք նույն տեղում, ինչ մինչև docker-ը տեղադրելը:
Ես լուծում չեմ գտել, թե ինչպես հաշտեցնել Hyper-V-ը և VMWare Workstation-ը, հուսով եմ, որ նրանք ընկերներ կդառնան նոր տարբերակներում:
Մեկ այլ ճանապարհ
Ես վաղուց կախված էի VMWare Workstation-ից տարբեր նպատակներով, ես փորձեցի իջնել Hyper-V-ի և VirtualBox-ի վրա, բայց ֆունկցիոնալությունը չբավարարեց իմ առաջադրանքները, և այնպես որ ես նստում եմ մինչ օրս: Պարզվեց, որ կա լուծում, թե ինչպես ընկերներ ձեռք բերել VMWare, Docker և VSCode մեկ աշխատանքային միջավայրում։
Docker մեքենա - թույլ է տալիս գործարկել Docker Engine-ը վիրտուալ հոսթի վրա և միանալ դրան ինչպես հեռակա, այնպես էլ տեղական: Եվ դրա համար կա VMWare Workstation-ի համատեղելիության դրայվեր, հղում github-ին
Հատկապես չեմ պատմի տեղադրման հրահանգները, միայն բաղադրիչների ցանկը.
Այո, Docker Desktop-ը, ցավոք, նույնպես անհրաժեշտ կլինի: Եթե քանդել եք, ապա նորից տեղադրեք, բայց այս անգամ հեռացնելով ՕՀ-ում փոփոխություններ կատարելու մասին վանդակը, որպեսզի նորից չխախտեք VMWare Workstation-ը։
Անմիջապես ուզում եմ նշել, որ ամեն ինչ լավ է աշխատում պարզ օգտագործողի կողմից, տեղադրման ծրագրերը կպահանջեն իրավունքների ընդլայնում, երբ դրա կարիքը ունենան, բայց հրամանի տողում և սցենարների բոլոր հրամանները կատարվում են ընթացիկ օգտվողից:
Արդյունքում թիմը.
$ docker-machine create --driver=vmwareworkstation dev
Boot2Docker-ից կստեղծվի dev virtualka, որի ներսում կլինի Docker-ը:
Այս վիրտուալ մեքենան կարող է կցվել VMWare Workstation GUI-ին՝ բացելով համապատասխան vmx ֆայլը: Բայց դա անհրաժեշտ չէ, քանի որ VSCode-ն այժմ պետք է գործարկի PowerShell սկրիպտը (ինչ-ինչ պատճառներով իմ docker-machine-ը և docker-machine-driver-vmwareworkstation-ը հայտնվեցին աղբարկղում).
cd ~/bin
./docker-machine env dev | Invoke-Expression
code
VSCode-ը կբացվի տեղական մեքենայի վրա կոդի հետ աշխատելու համար, իսկ վիրտուալ մեքենայի դոկերը: միացնել Docker Visual Studio Code-ի համար թույլ է տալիս հեշտությամբ կառավարել կոնտեյներները վիրտուալ մեքենայի մեջ՝ առանց կոնսոլ մտնելու:
Դժվարություններ:
Docker-machine-ի ստեղծման գործընթացում ինձ համար գործընթացը կախված էր.
Waiting for SSH to be available...
Եվ որոշ ժամանակ անց այն ավարտվեց վիրտուալ մեքենայի հետ կապ հաստատելու փորձերի ավելցուկով։
Ամեն ինչ վկայագրի քաղաքականության մասին է: Վիրտուալ մեքենա ստեղծելիս դուք կունենաք ~.dockermachinemachinesdev գրացուցակ այս գրացուցակում, որտեղ կլինեն SSH-ի միջոցով միանալու վկայագրի ֆայլեր՝ id_rsa, id_rsa.pub: OpenSSH-ը կարող է հրաժարվել դրանք օգտագործելուց, քանի որ կարծում է, որ թույլտվության հետ կապված խնդիրներ ունեն: Միայն docker-machine-ը ձեզ ոչինչ չի ասի այս մասին, այլ պարզապես կվերամիացվի այնքան ժամանակ, քանի դեռ չի ձանձրանում:
լուծում: Հենց սկսվում է նոր վիրտուալ մեքենայի ստեղծումը, մենք գնում ենք ~ .dockermachinemachinesdev գրացուցակ և հերթով փոխում ենք նշված ֆայլերի իրավունքները:
Ֆայլը պետք է պատկանի ընթացիկ օգտատիրոջը, միայն ընթացիկ օգտատերը և SYSTEM-ը պետք է լիարժեք մուտք ունենան, մնացած բոլոր օգտվողները, ներառյալ ադմինիստրատորների խումբը և իրենք՝ ադմինիստրատորները, պետք է ջնջվեն:
Հնարավոր է նաև խնդիրներ լինեն բացարձակ ուղիները Windows-ից Posix ձևաչափի փոխարկելու և սիմվոլիկ հղումներ պարունակող հատորների կապակցման հետ կապված: Բայց դա այլ պատմություն է։