Docker және VMWare Workstation бір Windows құрылғысында

Тапсырма қарапайым болды, қазірдің өзінде хайуанаттар бағы бар жұмыс істейтін Windows ноутбугіме Docker орнатыңыз. Мен 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 білім қорына сілтемемен Windows Defender тіркелгі деректерін қорғау құралын басқарыңыз. Шешім - 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 құралдар жинағы (Докер машинасы енгізілген)
  2. Docker Machine VMware жұмыс станциясының драйвері
  3. Docker жұмыс үстелі

Иә, Docker Desktop, өкінішке орай, қажет болады. Егер сіз оны бұзған болсаңыз, оны қайта орнатыңыз, бірақ бұл жолы VMWare Workstation жүйесін қайта бұзбау үшін ОЖ-ға өзгерістер енгізу туралы құсбелгіні алып тастаңыз.

Қарапайым пайдаланушыдан бәрі жақсы жұмыс істейтінін бірден атап өткім келеді, орнату бағдарламалары қажет болғанда құқықтарды арттыруды сұрайды, бірақ пәрмен жолындағы барлық пәрмендер мен сценарийлер ағымдағы пайдаланушыдан орындалады.

Нәтижесінде команда:

$ docker-machine create --driver=vmwareworkstation dev

Boot2Docker ішінен Docker болатын dev virtualka жасалады.

Бұл виртуалды машинаны VMWare Workstation GUI жүйесіне сәйкес vmx файлын ашу арқылы қосуға болады. Бірақ бұл қажет емес, өйткені VSCode енді PowerShell сценарийін іске қосуы керек (кейбір себептермен менің docker-machine және docker-machine-driver-vmwareworkstation бин қалтасында аяқталды):

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

VSCode жергілікті компьютердегі кодпен және виртуалды машинадағы докермен жұмыс істеу үшін ашылады. плагин Visual Studio кодына арналған докер консольге кірмей-ақ виртуалды машинадағы контейнерлерді ыңғайлы басқаруға мүмкіндік береді.

Қиындықтар:

Доккер-машинаны жасау процесінде мен үшін процесс тоқталды:

Waiting for SSH to be available...

Docker және VMWare Workstation бір Windows құрылғысында

Біраз уақыттан кейін ол виртуалды машинамен байланыс орнату әрекеттерінің көптігімен аяқталды.

Мұның бәрі сертификат саясатына қатысты. Виртуалды машинаны жасау кезінде сізде ~.dockermachinemachinesdev каталогы болады, бұл каталогта SSH арқылы қосылу үшін сертификат файлдары болады: id_rsa, id_rsa.pub. OpenSSH оларды пайдаланудан бас тартуы мүмкін, себебі оларда рұқсат мәселелері бар деп есептейді. Тек докер-машин сізге бұл туралы ештеңе айтпайды, бірақ ол жалыққанша қайта қосылады.

шешім: Жаңа виртуалды машинаны жасау басталғаннан кейін біз ~ .dockermachinemachinesdev каталогына өтіп, көрсетілген файлдардың құқықтарын бір-бірден өзгертеміз.

Файл ағымдағы пайдаланушыға тиесілі болуы керек, тек ағымдағы пайдаланушы мен ЖҮЙЕ толық рұқсат алады, барлық басқа пайдаланушылар, соның ішінде әкімшілер тобы мен әкімшілердің өздері жойылуы керек.

Сондай-ақ Windows жүйесінен Posix пішіміне абсолютті жолдарды түрлендіру және символдық сілтемелері бар томдарды байланыстыру проблемалары болуы мүмкін. Бірақ бұл басқа әңгіме.

Ақпарат көзі: www.habr.com

пікір қалдыру