Docker és VMWare Workstation ugyanazon a Windows-gépen

A feladat egyszerű volt, tettem fel a Dockert a működő Windows laptopomra, amiben már van állatkert. Telepítettem a Docker Desktopot és létrehoztam a konténereket, minden rendben van, de gyorsan rájöttem, hogy a VMWare Workstation hibával leállította a virtuális gépek futtatását:

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

A munka leállt, sürgős javításra szorul

Docker és VMWare Workstation ugyanazon a Windows-gépen

A guglizással kiderült, hogy ez a hiba a VMWare Workstation és a Hyper-V összeférhetetlensége miatt jelentkezik ugyanazon a gépen. A probléma ismert, és van egy ilyen hivatalos VMWare-megoldás javítani, a Microsoft Tudásbázisra mutató hivatkozással A Windows Defender Credential Guard kezelése. A megoldás a Defender Credential Guard letiltása (a Windows Defender Credential Guard letiltása szakasz 4. eleme segített):

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

Az újraindítás után a Windows megkérdezi, hogy valóban le szeretné-e tiltani a Defender Credential Guard szolgáltatást. Igen! Ily módon a VMWare Workstation visszatér a normál működéshez, és ugyanott találjuk magunkat, mint a dokkoló telepítése előtt.

Még mindig nem találtam megoldást a Hyper-V és a VMWare Workstation összeegyeztetésére, remélem, az új verziókban barátok lesznek.

Egy másik módja

Régóta a VMWare Workstation rabja vagyok különféle célokra, próbáltam leszállni a Hyper-V-ről és a VirtualBoxról, de a funkcionalitás nem elégítette ki a feladataimat, így a mai napig ülök. Kiderült, hogy van megoldás, hogyan lehet barátokat szerezni a VMWare-nek, a Docker-nek és a VSCode-nak egy munkakörnyezetben.

Docker gép - lehetővé teszi a Docker Engine futtatását egy virtuális gazdagépen, és távolról és helyileg is csatlakozhat hozzá. És van hozzá VMWare Workstation kompatibilitási illesztőprogram, link a githubhoz

A telepítési útmutatót nem írom újra, csak az összetevők listáját:

  1. Docker Toolbox (Docker gép beleértve)
  2. Docker Machine VMware Workstation illesztőprogram
  3. Docker Asztal

Igen, sajnos a Docker Desktopra is szükség lesz. Ha lebontotta, telepítse újra, de ezúttal távolítsa el az operációs rendszer módosítására vonatkozó jelölőnégyzetet, hogy ne törje meg újra a VMWare Workstationt.

Azonnal szeretném megjegyezni, hogy egy egyszerű felhasználótól minden jól működik, a telepítőprogramok kérik a jogok eszkalációját, amikor szükségük van rá, de a parancssorban lévő összes parancs és a szkript az aktuális felhasználótól fut.

Ennek eredményeként a csapat:

$ docker-machine create --driver=vmwareworkstation dev

A Boot2Dockerből egy dev virtualka jön létre, amiben a Docker lesz.

Ez a virtuális gép a VMWare Workstation grafikus felhasználói felületéhez csatolható a megfelelő vmx fájl megnyitásával. De ez nem szükséges, mert a VSCode-nak most PowerShell-szkriptet kell futtatnia (valamiért a docker-machine és a docker-machine-driver-vmwareworkstation a bin mappába került):

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

A VSCode megnyílik a helyi gépen lévő kóddal és a virtuális gépen lévő dokkolóval való együttműködéshez. csatlakoztat Docker a Visual Studio Code-hoz lehetővé teszi a tárolók kényelmes kezelését egy virtuális gépen anélkül, hogy be kellene lépnie a konzolba.

Nehézségek:

A dokkológép létrehozása során számomra lefagyott a folyamat:

Waiting for SSH to be available...

Docker és VMWare Workstation ugyanazon a Windows-gépen

Egy idő után pedig a virtuális géppel való kapcsolatteremtési kísérletek túlzott mértékű növekedésével ért véget.

Minden a tanúsítványpolitikáról szól. Virtuális gép létrehozásakor lesz egy ~.dockermachinemachinesdev könyvtár, ebben a könyvtárban lesznek tanúsítványfájlok az SSH-n keresztüli csatlakozáshoz: id_rsa, id_rsa.pub. Az OpenSSH megtagadhatja ezek használatát, mert úgy gondolja, hogy engedélyekkel kapcsolatos problémák vannak. Csak a dokkológép nem mond erről semmit, hanem egyszerűen újracsatlakozik, amíg meg nem unja.

megoldás: Amint elkezdődik egy új virtuális gép létrehozása, a ~ .dockermachinemachinesdev könyvtárba lépünk, és egyenként módosítjuk a megadott fájlok jogait.

A fájlnak az aktuális felhasználó tulajdonában kell lennie, csak az aktuális felhasználónak és a RENDSZERnek van teljes hozzáférése, az összes többi felhasználót, beleértve az adminisztrátorok csoportját és magukat a rendszergazdákat, törölni kell.

Problémák adódhatnak az abszolút elérési utak Windowsból Posix formátumba konvertálásakor és a szimbolikus hivatkozásokat tartalmazó kötetek összerendelésekor is. De ez egy másik történet.

Forrás: will.com

Hozzászólás