Ülesanne oli lihtne, paigaldada Docker oma Windowsi sülearvutisse, kus juba niigi on züoopark. Paigaldasin Docker Desktopi, lõin konteinerid, kõik oli okei, kuid avastasin kiiresti, et VMWare Workstation ei käivita virtuaalmasinate puhul enam, andes vea:
VMware Workstation ja Device/Credential Guard pole ühilduvad. VMware Workstationi saab kasutada pärast Device/Credential Guardi отключения.
Töö seisis, tuleb kiiresti parandada.

Otsingu kaudu selgus, et see viga ilmneb VMWare Workstationi ja Hyper-V ühilduvuse tõttu ühel masinal. Probleem on teada ja VMWare'il on ametlik lahendus, kuidas seda , koos lingiga Microsofti teabebaasi . Lahendus seisneb Defender Credential Guardi keelamises (minu jaoks aitas punkt 4 jaotisest Disable Windows Defender Credential Guard):
mountvol X: /s
copy %WINDIR%System32SecConfig.efi X:EFIMicrosoftBootSecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "EFIMicrosoftBootSecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /dPärast Windowsi taaskäivitamist küsib see, kas tõepoolest keelata Defender Credential Guard. Jah! Nii tagastatakse VMWare Workstation normaalsesse tööseisu ja jõuame tagasi samasse kohta, kus olime enne Dockerit installimist.
Lahendusi, kuidas Hyper-V ja VMWare Workstationit sõbralikult kasutada, ei leidnud, loodan, et uutes versioonides saavad nad omavahel läbi.
Teine tee
Olen juba ammu kasutanud VMWare Workstationi erinevateks otstarveteks, proovisin liikuda Hyper-V-le ja VirtualBoxile, aga funktsionaalsus ei rahuldanud minu vajadusi, seega olen siiani nendega. Selgus, et on lahendus, kuidas VMWare, Docker ja VSCode ühes töökeskkonnas sõbraks teha.
— võimaldab käivitada Docker Engine'i virtuaalses hostis ja ühenduda sellega nii kaug- kui ka kohalikult. Ja selle jaoks on olemas ühilduvusjuht VMWare Workstationiga,
Paigaldusjuhendit ma eraldi ei kirjuta, ainult koostisosade nimekiri:
- ( komplektis)
- Docker Desktop
Jah, Docker Desktop on kahjuks ka vajalik. Kui olete selle eemaldanud, siis paigaldame selle uuesti, kuid seekord eemaldamata juhtnuppu operatsioonisüsteemi muudatuste tegemiseks, et VMWare Workstationit jälle mitte rikutud.
Tahaksin kohe märkida, et kõik töötab suurepäraselt tavalise kasutajana, paigaldusprogrammid küsivad õiguste tõstmist, kui nad seda vajavad, kuid kõik käsud käsureas ja skriptid täidetakse praeguse kasutaja poolt.
Lõppkokkuvõttes koos käsuga:
$ docker-machine create --driver=vmwareworkstation devBoot2Docker loob virtuaalmasina dev, milles on Docker.
Selle virtuaalmasina saab lisada VMware Workstation'i graafilisse liidesesse, avades vastava vmx faili. Kuid see ei ole kohustuslik, kuna nüüd tuleb VSCode käivitada PowerShelli skripti kaudu (miksiküll on mul docker-machine ja docker-machine-driver-vmwareworkstation just kaustas bin):
cd ~/bin
./docker-machine env dev | Invoke-Expression
codeAvaneb VSCode, et töötada koodi kohaliku masinaga ja Dockeriga virtuaalmasinas. Plugin ning võimaldab mugavalt hallata konteine virtuaalmasinas, mitte minnes konsooli.
Raskused:
docker-machine'i loomise protsessi ajal jääb mul protsess hanguma:
Waiting for SSH to be available... 
Ja mõne aja pärast lõpetas see ülemäärase katsetega virtuaalmasinaga ühenduse loomisel.
Probleem on sertifikaatide poliitikas. Virtuaalmasina loomisel ilmub kaust ~.dockermachinemachinesdev, kus on SSH ühenduse jaoks vajalikud sertifikaadifailid: id_rsa, id_rsa.pub. OpenSSH võib neid kasutada keelduda, kuna peab neid õiguste probleemide allikaks. Ainult docker-machine ei ütle teile midagi ja lihtsalt proovib pidevalt uuesti ühendust luua, kuni see tüütuks muutub.
Lahendus: Niipea kui uue virtuaalmasina loomine algab, minge kausta ~.dockermachinemachinesdev ja muutke failide õigusi ükshaaval.
Faili omanik peab olema praegune kasutaja, täielik ligipääs on ainult praegusel kasutajal ja SYSTEM-il, kõik teised kasutajad, sealhulgas administraatorite rühm ja administrandid, tuleb eemaldada.
Samuti võivad olla probleeme Windowsi vormingust Posix vormingusse muundamisega ja sümboolsete linkidega, kuid see on juba teine lugu.
Allikas: habr.com
