Docker dan VMWare Workstation pada mesin Windows yang sama

Tugasnya mudah, pasang Docker pada komputer riba kerja saya dengan Windows, yang sudah mempunyai zoo. Saya memasang Docker Desktop, mencipta bekas, semuanya ok, tetapi saya dengan cepat mendapati bahawa VMWare Workstation berhenti melancarkan mesin maya dengan ralat:

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

Kerja telah berhenti, ia perlu dibaiki segera

Docker dan VMWare Workstation pada mesin Windows yang sama

Dengan googling, didapati ralat ini berlaku kerana ketidakserasian VMWare Workstation dan Hyper-V pada mesin yang sama. Masalahnya diketahui dan terdapat penyelesaian VMWare rasmi seperti ini untuk menetapkan, dengan pautan ke pangkalan pengetahuan Microsoft Urus Pengawal Kredensial Windows Defender. Penyelesaiannya adalah untuk melumpuhkan Pengawal Kredensial Defender (titik 4 bahagian Lumpuhkan Pengawal Kredensial Pembela Windows membantu saya):

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

Selepas anda memulakan semula, Windows akan meminta anda sama ada untuk melumpuhkan Pengawal Kredensial Defender. Ya! Dengan cara ini VMWare Workstation akan kembali beroperasi seperti biasa dan kami akan berada di tempat yang sama seperti sebelum memasang docker.

Saya masih belum menemui penyelesaian untuk mendamaikan Hyper-V dan VMWare Workstation, saya harap mereka akan menjadi kawan dalam versi baharu.

Cara lain

Saya telah terpikat dengan VMWare Workstation untuk masa yang lama untuk pelbagai tujuan, cuba beralih kepada Hyper-V dan VirtualBox, tetapi fungsi itu tidak memenuhi keperluan saya, dan saya masih terperangkap di sana sehingga hari ini. Ternyata ada penyelesaian tentang cara menggabungkan VMWare, Docker dan VSCode dalam satu persekitaran kerja.

Mesin Docker β€” membolehkan anda menjalankan Enjin Docker pada hos maya dan menyambung kepadanya dari jauh dan tempatan. Dan terdapat pemacu keserasian VMWare Workstation untuknya, pautan ke github

Saya tidak akan menceritakan semula arahan pemasangan, hanya senarai ramuan:

  1. Kotak Alat Docker (Mesin Docker disertakan)
  2. Pemacu Stesen Kerja VMware Mesin Docker
  3. Desktop Docker

Ya, Docker Desktop, malangnya, juga akan diperlukan. Jika anda merobohkannya, kemudian pasangkannya semula, tetapi kali ini alih keluar kotak semak tentang membuat perubahan pada OS, supaya tidak memecahkan VMWare Workstation lagi.

Saya ingin ambil perhatian segera bahawa semuanya berfungsi dengan baik daripada pengguna yang mudah, program pemasangan akan meminta peningkatan hak apabila mereka memerlukannya, tetapi semua arahan pada baris arahan dan skrip dilaksanakan daripada pengguna semasa.

Akibatnya, perintah:

$ docker-machine create --driver=vmwareworkstation dev

mesin maya dev akan dibuat daripada Boot2Docker, di dalamnya Docker akan dipasang.

Mesin maya ini boleh dilampirkan pada antara muka grafik VMWare Workstation dengan membuka fail vmx yang sepadan. Tetapi ini tidak perlu, kerana VSCode kini perlu dilancarkan oleh PowerShell sebagai skrip (atas sebab tertentu, docker-machine dan docker-machine-driver-vmwareworkstation berakhir dalam folder bin):

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

VSCode akan dibuka untuk berfungsi dengan kod pada mesin tempatan dan Docker dalam mesin maya. Pasangkan Docker untuk Kod Visual Studio membolehkan anda menguruskan bekas dalam mesin maya dengan mudah tanpa pergi ke konsol.

Kesukaran:

Semasa penciptaan mesin docker, proses saya terhenti:

Waiting for SSH to be available...

Docker dan VMWare Workstation pada mesin Windows yang sama

Dan selepas beberapa lama ia berakhir dengan lebih banyak percubaan untuk mewujudkan sambungan dengan mesin maya.

Ini semua tentang dasar sijil. Apabila mencipta mesin maya, anda akan mempunyai direktori ~.dockermachinemachinesdev. Dalam direktori ini akan terdapat fail sijil untuk menyambung melalui SSH: id_rsa, id_rsa.pub. OpenSSH mungkin enggan menggunakannya kerana menganggap mereka mempunyai masalah kebenaran. Hanya mesin docker tidak akan memberitahu anda apa-apa tentang perkara ini, ia hanya akan menyambung semula sehingga ia menjadi membosankan.

penyelesaian: Sebaik sahaja penciptaan mesin maya baharu bermula, pergi ke direktori ~.dockermachinemachinesdev dan tukar hak ke atas fail yang ditentukan, satu demi satu.

Pemilik fail mestilah pengguna semasa, hanya pengguna semasa dan SISTEM mempunyai akses penuh, semua pengguna lain, termasuk kumpulan pentadbir dan pentadbir sendiri, mesti dipadamkan.

Mungkin juga terdapat masalah dengan menukar laluan mutlak daripada format Windows kepada Posix, dan dengan jilid mengikat yang mengandungi pautan simbolik. Tetapi itu cerita lain.

Sumber: www.habr.com

Tambah komen