Docker og VMWare vinnustöð á sömu Windows vél

Verkefnið var einfalt, setti Docker á vinnu Windows fartölvuna mína, sem er nú þegar með dýragarð. Ég setti upp Docker Desktop og bjó til gáma, allt er í lagi, en ég uppgötvaði fljótt að VMWare Workstation hætti að keyra sýndarvélar með villu:

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

Verkið er hætt, brýnt að lagfæra

Docker og VMWare vinnustöð á sömu Windows vél

Með því að googla kom í ljós að þessi villa á sér stað vegna ósamrýmanleika VMWare Workstation og Hyper-V á sömu vél. Vandamálið er þekkt og það er til opinber VMWare lausn eins og þessi mend, með tengli á Microsoft Knowledge Base Stjórna Windows Defender Credential Guard. Lausnin er að slökkva á Defender Credential Guard (liður 4 í kaflanum Disable Windows Defender Credential Guard hjálpaði mér):

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

Eftir endurræsingu mun Windows spyrja hvort þú viljir virkilega slökkva á Defender Credential Guard. Já! Þannig mun VMWare Workstation fara aftur í eðlilegan rekstur og við munum finna okkur á sama stað og áður en Docker var sett upp.

Ég hef ekki fundið lausn á því hvernig á að samræma Hyper-V og VMWare Workstation, ég vona að þeir verði vinir í nýjum útgáfum.

Önnur leið

Ég hef lengi verið háður VMWare Workstation í ýmsum tilgangi, ég reyndi að komast út á Hyper-V og VirtualBox, en virknin uppfyllti ekki verkefnin mín og sit því enn þann dag í dag. Það kom í ljós að það er til lausn hvernig á að eignast vini VMWare, Docker og VSCode í einu vinnuumhverfi.

Docker vél - gerir þér kleift að keyra Docker Engine á sýndarhýsingu og tengjast honum bæði fjarstýrt og á staðnum. Og það er VMWare Workstation eindrægni bílstjóri fyrir það, tengill á github

Ég mun ekki endursegja uppsetningarleiðbeiningarnar sérstaklega, aðeins innihaldslistann:

  1. Docker verkfærakista (Docker vél innifalið)
  2. Bílstjóri fyrir Docker Machine VMware vinnustöð
  3. Docker skrifborð

Já, Docker Desktop, því miður, verður líka þörf. Ef þú rústaðir því skaltu setja það upp aftur, en í þetta skiptið fjarlægðu gátreitinn um að gera breytingar á stýrikerfinu, svo að VMWare Workstation brjótist ekki aftur.

Ég vil taka það strax fram að allt virkar vel frá einföldum notanda, uppsetningarforritin munu biðja um aukningu á réttindum þegar þau þurfa á því að halda, en allar skipanir á skipanalínunni og forskriftir eru keyrðar frá núverandi notanda.

Fyrir vikið:

$ docker-machine create --driver=vmwareworkstation dev

frá Boot2Docker verður dev virtualka búin til inni sem mun vera Docker.

Þessa sýndarvél er hægt að tengja við VMWare Workstation GUI með því að opna samsvarandi vmx skrá. En þetta er ekki nauðsynlegt, því VSCode mun nú þurfa að keyra PowerShell skriftu (af einhverjum ástæðum enduðu docker-vélin mín og docker-machine-driver-vmwareworkstation í bin möppunni):

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

VSCode mun opna til að vinna með kóða á staðbundinni vél og tengikví í sýndarvélinni. stinga inn Docker fyrir Visual Studio Code gerir þér kleift að stjórna gámum í sýndarvél á þægilegan hátt án þess að komast inn í stjórnborðið.

Erfiðleikar:

Í því ferli að búa til docker-vél hékk ferlið fyrir mig:

Waiting for SSH to be available...

Docker og VMWare vinnustöð á sömu Windows vél

Og eftir smá stund endaði það með ofgnótt af tilraunum til að koma á tengingu við sýndarvélina.

Þetta snýst allt um vottunarstefnu. Þegar þú býrð til sýndarvél muntu hafa ~.dockermachinemachinesdev möppu í þessari möppu, þar verða vottorðsskrár til að tengjast í gegnum SSH: id_rsa, id_rsa.pub. OpenSSH getur neitað að nota þá vegna þess að það heldur að þeir hafi leyfisvandamál. Aðeins docker-machine mun ekki segja þér neitt um þetta, heldur mun einfaldlega tengjast aftur þar til það leiðist.

lausn: Um leið og stofnun nýrrar sýndarvélar hefst förum við í ~ .dockermachinemachinesdev möppuna og breytum réttindum á tilgreindum skrám, einni í einu.

Skráin verður að vera í eigu núverandi notanda, aðeins núverandi notandi og KERFI hafa fullan aðgang, öllum öðrum notendum, þar með talið stjórnendahópnum og stjórnendum sjálfum, verður að eyða.

Það geta líka verið vandamál við að breyta algerum slóðum frá Windows í Posix sniði og binda bindi sem innihalda táknræna tengla. En það er önnur saga.

Heimild: www.habr.com

Bæta við athugasemd