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 машин дээр

Google-ээр дамжуулан энэ алдаа нь нэг машин дээр VMWare Workstation болон Hyper-V нийцэхгүй байгаатай холбоотой болохыг олж мэдсэн. Асуудал нь мэдэгдэж байгаа бөгөөд ийм албан ёсны VMWare шийдэл байдаг засах, Microsoft-ын Мэдлэгийн Баазын холбоосын хамт Windows Defender Credential Guard-г удирдах. Энэ шийдэл нь Defender Credential Guard-г идэвхгүй болгох явдал юм (Windows Defender Credential Guard-г идэвхгүй болгох хэсгийн 4-р зүйл надад тусалсан):

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 Engine-ийг виртуал хост дээр ажиллуулж, алсаас болон дотооддоо холбогдох боломжийг танд олгоно. Үүний тулд VMWare Workstation нийцтэй драйвер байдаг. github руу холбох

Би ялангуяа суулгах зааврыг дахин хэлэхгүй, зөвхөн найрлагын жагсаалт:

  1. Docker Toolbox (Докер машин орсон)
  2. Docker машин VMware ажлын станцын драйвер
  3. Docker ширээний компьютер

Тийм ээ, харамсалтай нь Docker Desktop бас хэрэгтэй болно. Хэрэв та үүнийг нураасан бол дахин суулгана уу, гэхдээ энэ удаад VMWare Workstation-ийг дахин эвдэхгүйн тулд үйлдлийн системд өөрчлөлт оруулах гэсэн нүдийг арилгана уу.

Энгийн хэрэглэгчээс бүх зүйл хэвийн ажиллаж байгааг би даруй тэмдэглэхийг хүсч байна, суулгах програмууд шаардлагатай үед эрхийг нэмэгдүүлэхийг хүсэх боловч командын мөр болон скрипт дээрх бүх тушаалуудыг одоогийн хэрэглэгчээс гүйцэтгэдэг.

Үүний үр дүнд баг:

$ docker-machine create --driver=vmwareworkstation dev

Boot2Docker-ээс Докер болох dev virtualka-г бүтээх болно.

Энэ виртуал машиныг харгалзах vmx файлыг нээх замаар VMWare Workstation GUI-д холбож болно. Гэхдээ энэ шаардлагагүй, учир нь VSCode одоо PowerShell скриптийг ажиллуулах шаардлагатай болно (ямар нэг шалтгааны улмаас миний docker-machine болон docker-machine-driver-vmwareworkstation хогийн хавтсанд дууссан):

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

VSCode нь дотоод машин болон виртуал машин дээрх докер дээрх кодтой ажиллахаар нээгдэнэ. залгах Visual Studio кодын докер Консол руу орохгүйгээр виртуал машин дахь контейнеруудыг хялбархан удирдах боломжийг танд олгоно.

Хэцүү байдал:

Docker-machine үүсгэх явцад миний хувьд дараах үйл явц өрнөсөн.

Waiting for SSH to be available...

Docker болон VMWare Workstation нь ижил Windows машин дээр

Хэсэг хугацааны дараа энэ нь виртуал машинтай холболт тогтоох оролдлогуудаар дууссан.

Энэ бүхэн гэрчилгээний бодлоготой холбоотой. Виртуал машин үүсгэх үед та ~.dockermachinemachinesdev лавлахтай байх бөгөөд энэ санд SSH-ээр холбогдох гэрчилгээний файлууд байх болно: id_rsa, id_rsa.pub. OpenSSH нь зөвшөөрөлтэй холбоотой асуудалтай тул тэдгээрийг ашиглахаас татгалзаж магадгүй юм. Зөвхөн докер-машин танд энэ талаар юу ч хэлэхгүй, харин залхтал дахин холбогдох болно.

шийдэл: Шинэ виртуал машин үүсгэж эхэлмэгц бид ~ .dockermachinemachinesdev лавлах руу орж, заасан файлуудын эрхийг нэг нэгээр нь өөрчилдөг.

Файл нь одоогийн хэрэглэгчийн эзэмшилд байх ёстой, зөвхөн одоогийн хэрэглэгч болон СИСТЕМ бүрэн хандалттай байх ёстой, бусад бүх хэрэглэгчид, түүний дотор администраторын бүлэг болон администраторууд өөрсдөө устгагдах ёстой.

Мөн Windows-ээс Posix формат руу үнэмлэхүй замыг хөрвүүлэх, симбол холбоос агуулсан ботьуудыг холбоход асуудал гарч болзошгүй. Гэхдээ энэ бол өөр түүх юм.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх