Docker и VMWare Workstation на одной Windows машинС

Π—Π°Π΄Π°Ρ‡Π° Π±Ρ‹Π»ΠΎ простой, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Docker Π½Π° свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ с Windows, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ ΠΈ Ρ‚Π°ΠΊ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊ. ΠŸΠΎΡΡ‚Π°Π²ΠΈΠ» Docker Desktop создал ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, всё ΠΎΠΊ, Π²ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ быстро ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ VMWare Workstation пСрСстала Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ с ошибкой:

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

Π Π°Π±ΠΎΡ‚Π° встала, Π½ΡƒΠΆΠ½ΠΎ срочно Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ

Docker и VMWare Workstation на одной Windows машинС

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ гуглСния Π±Ρ‹Π»ΠΎ выяснСно, Ρ‡Ρ‚ΠΎ данная ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° нСсовмСстимости VMWare Workstation ΠΈ Hyper-V Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° извСстная ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ VMWare ΠΊΠ°ΠΊ это ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ, со ссылкой Π½Π° Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ Microsoft Manage Windows Defender Credential Guard. РСшСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Defender Credential Guard (ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³ ΠΏΡƒΠ½ΠΊΡ‚ 4 Ρ€Π°Π·Π΄Π΅Π»Π° Disable Windows Defender Credential Guard):

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

ПослС пСрСзапуска Windows спросит, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Defender Credential Guard. Π”Π°! Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ VMWare Workstation вСрнСтся ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΈ ΠΌΡ‹ окаТСмся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС, Ρ‡Ρ‚ΠΎ ΠΈ Π΄ΠΎ установки Π΄ΠΎΠΊΠ΅Ρ€Π°.

РСшСния ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠΈΡ€ΠΈΡ‚ΡŒ Hyper-V ΠΈ VMWare Workstation я Ρ‚Π°ΠΊ ΠΈ Π½Π΅ нашСл, надСюсь Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΎΠ½ΠΈ подруТатся.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ

Π― ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ подсСл Π½Π° VMWare Workstation для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, пытался ΡΠ»Π΅Π·Ρ‚ΡŒ Π½Π° Hyper-V ΠΈ VirtualBox, Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΠ» ΠΌΠΎΠΈΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, Ρ‚Π°ΠΊ ΠΏΠΎ сСй дСнь ΠΈ сиТу. Оказалось Π΅ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ VMWare, Docker ΠΈ VSCode Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСдС.

Docker Machine β€” позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Docker Engine Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ хостС ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ, Ρ‚Π°ΠΊ ΠΈ локально. И для Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ совмСстимости с VMWare Workstation, ссылка Π½Π° GitHub

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ установкС особо ΠΏΠ΅Ρ€Π΅ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ список ΠΈΠ½Π³Ρ€ΠΈΠ΄ΠΈΠ΅Π½Ρ‚ΠΎΠ²:

  1. Docker Toolbox (Docker Machine Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅)
  2. Docker Machine VMware Workstation Driver
  3. Docker Desktop

Π”Π°, Docker Desktop, ΠΊ соТалСнию, Ρ‚ΠΎΠΆΠ΅ понадобится. Если снСсли Π΅Π³ΠΎ, Ρ‚ΠΎ устанавливаСм Π·Π°Π½ΠΎΠ²ΠΎ, Π½ΠΎ Π½Π° этот Ρ€Π°Π· ΡƒΠ±Ρ€Π°Π² чСкбокс ΠΎ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ОБ, Ρ‡Ρ‚ΠΎΠ± вновь Π½Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ VMWare Workstation.

Π‘Ρ€Π°Π·Ρƒ Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всё прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚ простого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ установки попросят ΡΡΠΊΠ°Π»Π°Ρ†ΠΈΡŽ ΠΏΡ€Π°Π² ΠΊΠΎΠ³Π΄Π° ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ, Π½ΠΎ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ скрипты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ docker-machine create --driver=vmwareworkstation dev

ΠΈΠ· Boot2Docker Π±ΡƒΠ΄Π΅Ρ‚ создана Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ° dev Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Docker.

Π­Ρ‚Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡ†Π΅ΠΏΠΈΡ‚ΡŒ Π² графичСский интСрфСйс VMWare Workstation, ΠΎΡ‚ΠΊΡ€Ρ‹Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ vmx Ρ„Π°ΠΉΠ». Но это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, вСдь VSCode Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ потрСбуСтся Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ PowerShell скриптом (Ρƒ мСня ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ docker-machine ΠΈ docker-machine-driver-vmwareworkstation оказались ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ bin):

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

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ VSCode для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° локальной машинС ΠΈ Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠΌ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ΅. Плагин Docker for Visual Studio Code позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ΅ Π½Π΅ залСзая Π² консоль.

БлоТности:

Π’ процСссС создания docker-machine Ρƒ мСня процСсс зависал:

Waiting for SSH to be available...

Docker и VMWare Workstation на одной Windows машинС

И Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ с ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΎΠΉ.

Всё Π΄Π΅Π»ΠΎ Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ ΠΊ сСртификатам. ΠŸΡ€ΠΈ создании Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρƒ вас появится ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~.dockermachinemachinesdev Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ сСртификата для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ SSH: id_rsa, id_rsa.pub. OpenSSH ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ считаСт Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Волько Π²ΠΎΡ‚ docker-machine Π²Π°ΠΌ ΠΎΠ± этом Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ скаТСт, Π° просто Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ надоСст.

РСшСниС: Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ начнСтся созданиС Π½ΠΎΠ²ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~.dockermachinemachinesdev ΠΈ мСняСм ΠΏΡ€Π°Π²Π° Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ.

Π’Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ SYSTEM, всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π³Ρ€ΡƒΠΏΠΏΡƒ администраторов ΠΈ самих администраторов Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ.

Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ· Windows Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Posix, ΠΈ с Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠΌ Ρ‚ΠΎΠΌΠΎΠ² содСрТащих symbolic link. Но это ΡƒΠΆΠ΅ другая история.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com