Тапшырма жөнөкөй болчу, 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 Билим базасына шилтеме менен Чечим - Defender Credential Guard программасын өчүрүү (мага "Өчүрүү" бөлүмүнүн 4-пункту жардам берди). Windows Коргоочунун ишеним грамотасы):
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: /dКайра иштетилгенден кийин Windows Сизден Defender Credential Guard программасын чын эле өчүргүңүз келеби деп суралат. Ооба! Бул VMWare Workstation программасын кадимки режимге кайтарат жана биз Dockerди орнотуудан мурунку абалыбызга кайтып келебиз.
Мен Hyper-V менен VMWare Workstationди кантип элдештирүү боюнча чечим таба алган жокмун, алар жаңы версияларда дос болот деп үмүттөнөм.
Башка жол
Мен көптөн бери ар кандай максаттарда VMWare Workstation көз каранды болуп калдым, Hyper-V жана VirtualBoxтан түшүүгө аракет кылдым, бирок функционалдуулук менин тапшырмаларымды канааттандырган жок, ошондуктан мен ушул күнгө чейин отурам. Бир жумушчу чөйрөдө VMWare, Docker жана VSCode менен кантип достошуунун чечими бар экен.
- Docker Engine'ди виртуалдык хостто иштетүүгө жана ага алыстан да, жергиликтүү түрдө да туташуу мүмкүнчүлүгүн берет. Ал үчүн VMWare Workstation шайкештик драйвери бар,
Мен өзгөчө орнотуу көрсөтмөлөрүн кайталабайм, болгону ингредиенттердин тизмеси:
- ( топтомдо)
- DockerDesktop
Ооба, тилекке каршы, Docker Desktop да керек болот. Эгер сиз аны бузуп салсаңыз, анда аны кайра орнотуңуз, бирок бул жолу VMWare Workstation кайра бузулбаш үчүн, ОСке өзгөртүүлөрдү киргизүү жөнүндө кутучаны алып салыңыз.
Мен дароо белгилеп кетким келет, баары жөнөкөй колдонуучудан жакшы иштейт, орнотуу программалары керек болгондо укуктарды жогорулатууну суранышат, бирок буйрук сабындагы жана скрипттердеги бардык буйруктар учурдагы колдонуучудан аткарылат.
Жыйынтыгында команда:
$ docker-machine create --driver=vmwareworkstation devBoot2Dockerден, Докер боло турган dev virtualka түзүлөт.
Бул виртуалдык машина тиешелүү vmx файлын ачуу менен VMWare Workstation GUIге тиркелиши мүмкүн. Бирок бул зарыл эмес, анткени VSCode азыр PowerShell скриптин иштетиши керек болот (кандайдыр бир себептерден улам менин докер-машинам жана докер-машина-драйвер-vmwareworkstation бин папкасында калды):
cd ~/bin
./docker-machine env dev | Invoke-Expression
codeVSCode жергиликтүү машинадагы код жана виртуалдык машинадагы докер менен иштөө үчүн ачылат. плагин консолго кирбестен виртуалдык машинадагы контейнерлерди ыңгайлуу башкарууга мүмкүндүк берет.
Кыйынчылыктар:
Докер-машинаны түзүү процессинде мен үчүн процесс:
Waiting for SSH to be available... 
Ал эми бир аз убакыт өткөндөн кийин, ал виртуалдык машина менен байланыш түзүү аракети ашыкча аяктады.
Мунун баары сертификат саясатына байланыштуу. Виртуалдык машинаны түзүп жатканда, сизде ~.dockermachinemachinesdev каталогу болот, бул каталогдо SSH аркылуу туташуу үчүн сертификат файлдары болот: id_rsa, id_rsa.pub. OpenSSH аларды колдонуудан баш тартышы мүмкүн, анткени аларда уруксат маселеси бар деп ойлойт. Бир гана докер-машина сизге бул жөнүндө эч нерсе айтпайт, бирок ал тажаганга чейин кайра кошулат.
чечим: Жаңы виртуалдык машина түзүлө баштаганда, биз ~ .dockermachinemachinesdev каталогуна кирип, көрсөтүлгөн файлдарга болгон укуктарды бирден өзгөртөбүз.
Файл учурдагы колдонуучуга таандык болушу керек, учурдагы колдонуучуга жана СИСТЕМАга гана толук мүмкүнчүлүк бар, бардык башка колдонуучулар, анын ичинде администраторлор тобу жана администраторлор өздөрү жок кылынышы керек.
Абсолюттук жолдорду төмөнкүдөн конвертациялоодо да көйгөйлөр болушу мүмкүн Windows Posix форматында жана символикалык шилтемелерди камтыган көлөмдүк байланыш менен. Бирок бул башка окуя.
Source: www.habr.com
