Docker u VMWare Workstation fuq l-istess magna tal-Windows

Il-kompitu kien sempliċi, poġġi Docker fuq il-laptop tal-Windows tax-xogħol tiegħi, li diġà għandu żoo. Installajt Docker Desktop u ħloqt kontenituri, kollox tajjeb, imma malajr skoprejt li VMWare Workstation waqaf iħaddem magni virtwali bi żball:

VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard.

Ix-xogħol waqaf, huwa urġenti li tissewwa

Docker u VMWare Workstation fuq l-istess magna tal-Windows

Permezz ta 'googling, instab li dan l-iżball iseħħ minħabba l-inkompatibilità ta' VMWare Workstation u Hyper-V fuq l-istess magna. Il-problema hija magħrufa u hemm soluzzjoni VMWare uffiċjali bħal din biex jiffissaw, b'link għall-Microsoft Knowledge Base Immaniġġja Windows Defender Credential Guard. Is-soluzzjoni hija li tiddiżattiva l-Gwardja tal-Kredenzjali tad-Difensur (punt 4 tas-sezzjoni Iddiżattiva l-Gwardja tal-Kredenzjali tad-Difensur tal-Windows għenitni):

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

Wara li terġa 'tibda, Windows jistaqsi jekk verament tridx tiddiżattiva Defender Credential Guard. Iva! B'dan il-mod, VMWare Workstation se terġa 'lura għall-operazzjoni normali, u se nsibu ruħna fl-istess post bħal qabel l-installazzjoni docker.

Ma sibtx soluzzjoni dwar kif nirrikonċilja Hyper-V u VMWare Workstation, nispera li jsiru ħbieb f'verżjonijiet ġodda.

Mod ieħor

Jien ilni dipendenti fuq VMWare Workstation għal diversi skopijiet, ippruvajt ninżel fuq Hyper-V u VirtualBox, iżda l-funzjonalità ma ssodisfatx il-kompiti tiegħi, u għalhekk noqgħod sal-lum. Irriżulta li hemm soluzzjoni kif tagħmel ħbieb VMWare, Docker u VSCode f'ambjent tax-xogħol wieħed.

Magni Docker - jippermettilek tħaddem Docker Engine fuq host virtwali u tikkonnettja miegħu kemm mill-bogħod kif ukoll lokalment. U hemm sewwieq ta 'kompatibilità ta' VMWare Workstation għaliha, link għal github

Mhux se nerġa' ngħid l-istruzzjonijiet tal-installazzjoni speċjalment, biss il-lista tal-ingredjenti:

  1. Docker Toolbox (Magni Docker inklużi)
  2. Docker Machine VMware Workstation Driver
  3. DockerDesktop

Iva, Docker Desktop, sfortunatament, se jkun meħtieġ ukoll. Jekk twaqqgħetha, imbagħad installaha mill-ġdid, iżda din id-darba tneħħi l-kaxxa ta 'kontroll dwar li tagħmel bidliet fl-OS, sabiex ma terġax tkisser VMWare Workstation.

Irrid ninnota mill-ewwel li kollox jaħdem tajjeb minn utent sempliċi, il-programmi ta 'installazzjoni se jitolbu eskalazzjoni tad-drittijiet meta jkollhom bżonnha, iżda l-kmandi kollha fuq il-linja tal-kmand u l-iskripts huma esegwiti mill-utent attwali.

Bħala riżultat, it-tim:

$ docker-machine create --driver=vmwareworkstation dev

minn Boot2Docker, se tinħoloq dev virtualka ġewwa li se jkun Docker.

Din il-magna virtwali tista' titwaħħal mal-GUI tal-VMWare Workstation billi tiftaħ il-fajl vmx korrispondenti. Iżda dan mhux meħtieġ, minħabba li VSCode issa jeħtieġ li jmexxi script PowerShell (għal xi raġuni, docker-machine u docker-machine-driver-vmwareworkstation tiegħi spiċċaw fil-folder tal-bin):

cd ~/bin
./docker-machine env dev | Invoke-Expression
code

VSCode se jiftaħ biex jaħdem bil-kodiċi fuq il-magna lokali u docker fil-magna virtwali. plugin Docker għal Visual Studio Code jippermettilek timmaniġġja b'mod konvenjenti kontenituri f'magna virtwali mingħajr ma tidħol fil-console.

Diffikultajiet:

Fil-proċess tal-ħolqien ta 'docker-machine, il-proċess mdendel għalija:

Waiting for SSH to be available...

Docker u VMWare Workstation fuq l-istess magna tal-Windows

U wara ftit intemmet b'eċċess ta 'tentattivi biex tiġi stabbilita konnessjoni mal-magna virtwali.

Kollox dwar il-politika taċ-ċertifikati. Meta toħloq magna virtwali, ser ikollok direttorju ~.dockermachinemachinesdev f'dan id-direttorju se jkun hemm fajls taċ-ċertifikati għall-konnessjoni permezz ta' SSH: id_rsa, id_rsa.pub. OpenSSH jista' jirrifjuta li jużahom minħabba li jaħseb li għandhom kwistjonijiet ta' permess. Docker-machine biss ma jgħidlek xejn dwar dan, iżda sempliċiment jerġa 'jikkonnettja sakemm tiddejjaq.

soluzzjoni: Hekk kif jibda l-ħolqien ta 'magna virtwali ġdida, immorru fid-direttorju ~ .dockermachinemachinesdev u nibdlu d-drittijiet għall-fajls speċifikati, wieħed kull darba.

Il-fajl għandu jkun proprjetà tal-utent attwali, l-utent attwali u s-SISTEMA biss għandhom aċċess sħiħ, l-utenti l-oħra kollha, inkluż il-grupp tal-amministraturi u l-amministraturi nfushom, għandhom jitħassru.

Jista 'jkun hemm ukoll problemi biex jikkonvertu mogħdijiet assoluti mill-Windows għall-format Posix, u volumi li jorbtu li fihom links simboliċi. Imma dik hija storja oħra.

Sors: www.habr.com

Żid kumment