Docker eta VMWare Workstation Windows makina berean

Zeregin erraza zen, instalatu Docker nire laneko ordenagailu eramangarrian Windows-ekin, dagoeneko zoo bat daukana. Docker Desktop instalatu nuen, edukiontziak sortu nituen, dena ondo zegoen, baina azkar aurkitu nuen VMWare Workstation-ek makina birtualak abiarazteari utzi ziola errorearekin:

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

Lanak gelditu egin dira, premiazkoa konpondu behar da

Docker eta VMWare Workstation Windows makina berean

Googlen sartuta, errore hau makina berean VMWare Workstation eta Hyper-V bateraezintasuna dela eta gertatzen dela aurkitu da. Arazoa ezaguna da eta horrelako VMWare irtenbide ofizial bat dago konpondu, Microsoft ezagutza-baserako esteka batekin Kudeatu Windows Defender Credential Guard. Irtenbidea Defender Credential Guard desgaitzea da (Desgaitu Windows Defender Credential Guard ataleko 4. puntuak lagundu dit):

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

Berrabiarazi ondoren, Windows-ek Defender Credential Guard desgaitu nahi duzun galdetuko dizu. Bai! Horrela VMWare Workstation funtzionamendu normalera itzuliko da eta docker instalatu aurretik zegoen toki berean egongo gara.

Oraindik ez dut aurkitu Hyper-V eta VMWare Workstation bateratzeko irtenbiderik, bertsio berrietan lagunak izango direla espero dut.

Beste modu bat

VMWare Workstation-era denbora luzez lotuta nago hainbat helbururekin, Hyper-V eta VirtualBox-era aldatzen saiatu naiz, baina funtzionalitateak ez ditu nire beharrak asetzen, eta oraindik hor jarraitzen dut. VMWare, Docker eta VSCode lan-ingurune batean konbinatzeko irtenbide bat dagoela ikusi zen.

Docker Makina β€” Docker Engine ostalari birtual batean exekutatzeko eta harekin urrunetik zein lokalean konektatzeko aukera ematen du. Eta VMWare Workstation bateragarritasun kontrolatzaile bat dago horretarako, github-erako esteka

Ez ditut bereziki instalatzeko argibideak kontatuko, osagaien zerrenda bakarrik:

  1. Docker tresna-kutxa (Docker Makina barne)
  2. Docker Machine VMware Workstation Driver
  3. Docker mahaigaina

Bai, Docker Desktop ere beharrezkoa izango da, tamalez. Eraitsi baduzu, instalatu berriro, baina oraingoan OSan aldaketak egiteko kontrol-laukia kenduz, VMWare Workstation berriro apurtzeko.

Berehala adierazi nahiko nuke dena ondo funtzionatzen duela erabiltzaile sinple batetik, instalazio-programek eskubideen eskalatzea eskatuko dute behar dutenean, baina komando-lerroko eta script-ak komando guztiak uneko erabiltzailearengandik exekutatzen dira.

Ondorioz, komandoa:

$ docker-machine create --driver=vmwareworkstation dev

Boot2Docker-etik garatzeko makina birtual bat sortuko da, eta horren barruan Docker instalatuko da.

Makina birtual hau VMWare Workstation interfaze grafikoan erantsi daiteke dagokion vmx fitxategia irekiz. Baina hori ez da beharrezkoa, VSCode orain PowerShell-ek script gisa abiarazi beharko duelako (arrazoiren batengatik, docker-machine eta docker-machine-driver-vmwareworkstation bin karpetan amaitu zuten):

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

VSCode irekiko da kodearekin lan egiteko makina lokalean eta Docker makina birtualean. Plugin Docker Visual Studio Coderako makina birtualeko edukiontziak eroso kudeatzeko aukera ematen du kontsolara sartu gabe.

Zailtasunak:

Docker-machine sortzean, nire prozesua izoztu egin zen:

Waiting for SSH to be available...

Docker eta VMWare Workstation Windows makina berean

Eta denboraren buruan makina birtualarekin konexioa ezartzeko saiakera gehiagorekin amaitu zen.

Ziurtagirien politikari buruzkoa da. Makina birtual bat sortzean, ~.dockermachinemachinesdev direktorio bat izango duzu. Direktorio honetan SSH bidez konektatzeko ziurtagiri fitxategiak egongo dira: id_rsa, id_rsa.pub. OpenSSH-k uko egin diezaioke horiek erabiltzeari, baimen-arazoak dituztela uste duelako. Docker-machine-k bakarrik ez dizu ezer esango honi buruz, berriro konektatuko da aspertu arte.

irtenbidea: Makina birtual berri baten sorrera hasi bezain laster, joan ~.dockermachinemachinesdev direktoriora eta aldatu zehaztutako fitxategien eskubideak banan-banan.

Fitxategiaren jabeak egungo erabiltzailea izan behar du, oraingo erabiltzaileak eta SISTEMAK bakarrik dute sarbide osoa, gainerako erabiltzaile guztiak, administratzaile taldea eta administratzaileak eurak barne, ezabatu behar dira.

Arazoak ere egon daitezke Windows formatutik Posix-era bide absolutuak bihurtzeko eta esteka sinbolikoa duten bolumenak lotzeko. Baina hori beste istorio bat da.

Iturria: www.habr.com

Gehitu iruzkin berria