Docker na VMWare Workstation kwenye mashine moja ya Windows

Kazi ilikuwa rahisi, sasisha Docker kwenye kompyuta yangu ya kazi na Windows, ambayo tayari ina zoo. Niliweka Desktop ya Docker, nikaunda vyombo, kila kitu kilikuwa sawa, lakini niligundua haraka kuwa VMWare Workstation iliacha kuzindua mashine za kawaida na kosa:

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

Kazi imesimama, inahitaji kurekebishwa haraka

Docker na VMWare Workstation kwenye mashine moja ya Windows

Kwa googling, ilibainika kuwa hitilafu hii hutokea kwa sababu ya kutopatana kwa VMWare Workstation na Hyper-V kwenye mashine moja. Shida inajulikana na kuna suluhisho rasmi la VMWare kama hili kurekebisha, iliyo na kiungo cha msingi wa maarifa wa Microsoft Dhibiti Kilinda Kitambulisho cha Mlinzi wa Windows. Suluhisho ni kulemaza Mlinzi wa Kitambulisho cha Mlinzi (uhakika wa 4 wa Lemaza sehemu ya Kilinda Kitambulisho cha Mlinzi wa Windows ulinisaidia):

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

Baada ya kuwasha upya, Windows itakuuliza ikiwa utazima Kilinda Kitambulisho cha Defender. Ndiyo! Kwa njia hii VMWare Workstation itarudi kwa operesheni ya kawaida na tutakuwa katika sehemu sawa na kabla ya kusakinisha docker.

Bado sijapata suluhisho la kupatanisha Hyper-V na VMWare Workstation, natumai watakuwa marafiki katika matoleo mapya.

Njia nyingine

Nimeshikwa na VMWare Workstation kwa muda mrefu kwa madhumuni anuwai, nilijaribu kubadili Hyper-V na VirtualBox, lakini utendakazi haukukidhi mahitaji yangu, na bado nimekwama hapo hadi leo. Ilibadilika kuwa kuna suluhisho la jinsi ya kuchanganya VMWare, Docker na VSCode katika mazingira moja ya kufanya kazi.

Mashine ya Docker - hukuruhusu kuendesha Injini ya Docker kwenye seva pangishi pepe na uunganishe nayo kwa mbali na ndani. Na kuna dereva wa utangamano wa VMWare Workstation kwa hiyo, kiungo kwa github

Sitaelezea tena maagizo ya usakinishaji, orodha tu ya viungo:

  1. Sanduku la zana la Docker (Mashine ya Docker pamoja)
  2. Mashine ya Docker VMware Workstation Driver
  3. Eneo-kazi la Docker

Ndio, Desktop ya Docker, kwa bahati mbaya, pia itahitajika. Ikiwa umeibomoa, kisha usakinishe tena, lakini wakati huu ukiondoa kisanduku cha kuangalia kuhusu kufanya mabadiliko kwenye OS, ili usivunje VMWare Workstation tena.

Ningependa kutambua mara moja kwamba kila kitu kinafanya kazi vizuri kutoka kwa mtumiaji rahisi, mipango ya ufungaji itaomba kuongezeka kwa haki wakati wanahitaji, lakini amri zote kwenye mstari wa amri na maandiko yanatekelezwa kutoka kwa mtumiaji wa sasa.

Kama matokeo, amri:

$ docker-machine create --driver=vmwareworkstation dev

mashine ya kawaida ya dev itaundwa kutoka kwa Boot2Docker, ambayo Docker itasakinishwa.

Mashine hii pepe inaweza kuambatishwa kwenye kiolesura cha picha cha VMWare Workstation kwa kufungua faili inayolingana ya vmx. Lakini hii sio lazima, kwa sababu VSCode sasa itahitaji kuzinduliwa na PowerShell kama hati (kwa sababu fulani, mashine ya docker na docker-machine-driver-vmwareworkstation iliishia kwenye folda ya bin):

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

VSCode itafungua kufanya kazi na nambari kwenye mashine ya ndani na Docker kwenye mashine ya kawaida. Chomeka Docker ya Msimbo wa Visual Studio hukuruhusu kudhibiti vyombo kwa urahisi kwenye mashine ya kawaida bila kwenda kwenye koni.

Ugumu:

Wakati wa uundaji wa mashine ya docker, mchakato wangu uliganda:

Waiting for SSH to be available...

Docker na VMWare Workstation kwenye mashine moja ya Windows

Na baada ya muda iliisha na majaribio zaidi ya kuanzisha muunganisho na mashine ya kawaida.

Yote ni kuhusu sera ya cheti. Unapounda mashine pepe, utakuwa na saraka ~.dockermachinemachinesdev.Katika saraka hii kutakuwa na faili za cheti za kuunganishwa kupitia SSH: id_rsa, id_rsa.pub. OpenSSH inaweza kukataa kuzitumia kwa sababu inafikiri zina masuala ya ruhusa. Mashine ya docker pekee haitakuambia chochote kuhusu hili, itaunganisha tena hadi itakapochosha.

ufumbuzi: Mara tu uundaji wa mashine mpya pepe unapoanza, nenda kwenye saraka ya ~.dockermachinesdev na ubadilishe haki kwa faili zilizobainishwa, moja baada ya nyingine.

Mmiliki wa faili lazima awe mtumiaji wa sasa, mtumiaji wa sasa tu na SYSTEM wana ufikiaji kamili, watumiaji wengine wote, ikiwa ni pamoja na kikundi cha wasimamizi na wasimamizi wenyewe, wanapaswa kufutwa.

Kunaweza pia kuwa na matatizo ya kubadilisha njia kabisa kutoka kwa umbizo la Windows hadi Posix, na kwa kiasi cha kuunganisha kilicho na kiungo cha ishara. Lakini hiyo ni hadithi nyingine.

Chanzo: mapenzi.com

Kuongeza maoni