Docker è VMWare Workstation nantu à a stessa macchina Windows

U compitu era simplice, mette Docker nantu à u mo laptop Windows di travagliu, chì hà digià un zoo. Aghju installatu Docker Desktop è creatu cuntenituri, tuttu hè bè, ma aghju scupertu rapidamente chì VMWare Workstation hà cessatu di eseguisce e macchine virtuali cù un errore:

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

U travagliu hè firmatu, hè urgente di riparà

Docker è VMWare Workstation nantu à a stessa macchina Windows

Per Google, hè statu scupertu chì questu errore si trova per via di l'incompatibilità di VMWare Workstation è Hyper-V in a stessa macchina. U prublema hè cunnisciutu è ci hè una soluzione VMWare ufficiale cum'è questu riparà, cù un ligame à a Microsoft Knowledge Base Gestisce Windows Defender Credential Guard. A suluzione hè di disattivà Defender Credential Guard (l'articulu 4 di a sezione Disable Windows Defender Credential Guard m'hà aiutatu):

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

Dopu avè riavviatu, Windows dumandarà se vulete veramente disattivà Defender Credential Guard. Iè! In questu modu, VMWare Workstation tornerà à u funziunamentu normale, è ci truvemu in u stessu locu cum'è prima di installà docker.

Ùn aghju micca truvatu una suluzione nantu à cumu cuncilià Hyper-V è VMWare Workstation, spergu chì diventeranu amici in novi versioni.

Un altru modu

Sò longu addicted to VMWare Workstation per diversi scopi, aghju pruvatu à scendere nantu à Hyper-V è VirtualBox, ma a funziunalità ùn hà micca suddisfà i mo compiti, è cusì mi pusò finu à questu ghjornu. Ci hè una suluzione per fà amici VMWare, Docker è VSCode in un ambiente di travagliu.

macchina docker - permette di eseguisce Docker Engine nantu à un host virtuale è cunnetta à ellu sia remotamente sia in locu. È ci hè un driver di cumpatibilità VMWare Workstation per questu, ligame à github

Ùn diceraghju micca l'istruzzioni di stallazione in particulare, solu a lista di ingredienti:

  1. Docker Toolbox (macchina docker inclusu)
  2. Docker Machine VMware Workstation Driver
  3. DockerDesktop

Iè, Docker Desktop, sfurtunatamenti, serà ancu necessariu. Se l'avete demolitu, installate di novu, ma sta volta sguassate a casella di spunta per fà cambiamenti à u SO, per ùn rompe micca VMWare Workstation.

Vogliu nutà subitu chì tuttu funziona bè da un utilizatore simplice, i prugrammi di stallazione dumandanu l'escalation di diritti quandu anu bisognu, ma tutti i cumandamenti nantu à a linea di cumanda è i scripts sò eseguiti da l'utilizatore attuale.

In u risultatu, a squadra:

$ docker-machine create --driver=vmwareworkstation dev

da Boot2Docker, un dev virtualka serà creatu in u quale serà Docker.

Questa macchina virtuale pò esse attaccata à a GUI VMWare Workstation aprendu u schedariu vmx currispundente. Ma questu ùn hè micca necessariu, perchè VSCode hà avà bisognu di eseguisce un script PowerShell (per una certa ragione, u mo docker-machine è docker-machine-driver-vmwareworkstation sò finiti in u cartulare bin):

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

VSCode s'aprirà per travaglià cù codice nantu à a macchina locale è docker in a macchina virtuale. cunnettà si Docker per Visual Studio Code permette di gestisce comodamente i cuntenituri in una macchina virtuale senza entre in a cunsola.

Difficultà:

In u prucessu di creazione di docker-machine, u prucessu pende per mè:

Waiting for SSH to be available...

Docker è VMWare Workstation nantu à a stessa macchina Windows

È dopu un pocu tempu si finisci cù un eccessu di tentativi di stabilisce una cunnessione cù a macchina virtuale.

Hè tuttu nantu à a pulitica di certificatu. Quandu crea una macchina virtuale, avete un annuariu ~ .dockermachinemachinesdev in questu repertoriu ci saranu schedarii di certificatu per cunnette via SSH: id_rsa, id_rsa.pub. OpenSSH pò ricusà di aduprà perchè pensa chì anu prublemi di permessu. Solu docker-machine ùn vi dicerà nunda di questu, ma solu ricunnetterà finu à chì si annoia.

suluzione: Appena a creazione di una nova macchina virtuale principia, andemu à u repertoriu ~ .dockermachinemachinesdev è cambiate i diritti à i schedarii specificati, unu à un tempu.

U schedariu deve esse propiu di l'utilizatore attuale, solu l'utilizatore attuale è u SISTEMA anu accessu sanu, tutti l'altri utilizatori, cumpresu u gruppu di amministratori è l'amministratori stessi, devenu esse eliminati.

Ci pò ancu esse prublemi di cunvertisce percorsi assoluti da Windows à u formatu Posix, è volumi di ubligatoriu chì cuntenenu ligami simbolichi. Ma questu hè un'altra storia.

Source: www.habr.com

Add a comment