အလုပ်က ရိုးရှင်းပါတယ်၊ တိရစ္ဆာန်ရုံရှိပြီးသားဖြစ်တဲ့ ကျွန်တော့်ရဲ့ Windows လက်တော့ပ်မှာ Docker ကို တင်လိုက်ပါ။ Docker Desktop ကို ထည့်သွင်းပြီး ကွန်တိန်နာများကို ဖန်တီးထားပါသည်၊ အားလုံးအဆင်ပြေပါသည်၊ သို့သော် VMWare Workstation သည် အမှားအယွင်းတစ်ခုဖြင့် virtual machines များလည်ပတ်ခြင်းကို ရပ်တန့်လိုက်ကြောင်း အမြန်ရှာဖွေတွေ့ရှိခဲ့သည်-
VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard.
လုပ်ငန်းက ရပ်သွားပြီ၊ ပြုပြင်ဖို့ အရေးကြီးတယ်။
googling လုပ်ခြင်းဖြင့်၊ ဤအမှားသည် တူညီသောစက်တွင် VMWare Workstation နှင့် Hyper-V တို့၏ လိုက်ဖက်မှုမရှိခြင်းကြောင့် ဖြစ်ပေါ်ကြောင်း တွေ့ရှိရပါသည်။ ပြဿနာကို သိထားပြီး ဤကဲ့သို့သော တရားဝင် VMWare ဖြေရှင်းချက် ရှိပါသည်။
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 သည် ပုံမှန်လည်ပတ်မှုသို့ ပြန်သွားမည်ဖြစ်ပြီး docker ကိုမထည့်သွင်းမီကကဲ့သို့ တစ်နေရာတည်းတွင် ကျွန်ုပ်တို့ကိုယ်တိုင် တွေ့ရှိမည်ဖြစ်သည်။
Hyper-V နှင့် VMWare Workstation ကို ပြန်လည်ပေါင်းစည်းနည်းအတွက် အဖြေကို ကျွန်ုပ်မတွေ့ရသေးပါ၊ ၎င်းတို့သည် ဗားရှင်းအသစ်တွင် သူငယ်ချင်းများဖြစ်လာလိမ့်မည်ဟု မျှော်လင့်ပါသည်။
နောက်တစ်နည်း
ရည်ရွယ်ချက်အမျိုးမျိုးအတွက် VMWare Workstation ကို စွဲလန်းနေတာကြာပါပြီ၊ Hyper-V နဲ့ VirtualBox ပေါ်တက်ဖို့ ကြိုးစားခဲ့ပေမယ့် လုပ်ဆောင်နိုင်စွမ်းက ကျွန်မရဲ့အလုပ်တွေကို မကျေမနပ်ဖြစ်တာကြောင့် ဒီနေ့အထိ ထိုင်နေခဲ့ပါတယ်။ အလုပ်ပတ်ဝန်းကျင်တစ်ခုတွင် သူငယ်ချင်း VMWare၊ Docker နှင့် VSCode ကို မည်သို့ပြုလုပ်ရမည်နည်း။
အထူးသဖြင့် တပ်ဆင်မှုညွှန်ကြားချက်များကို ကျွန်ုပ်ပြန်မပြောပါ၊ ပါဝင်ပစ္စည်းများစာရင်းကိုသာ ပြန်ပြောပြပါမည်။
Docker Toolbox (Docker စက် ပါဝင်သည်)Docker စက် VMware Workstation Driver - DockerDesktop
ဟုတ်ကဲ့၊ Docker Desktop လည်း လိုအပ်ပါလိမ့်မယ်။ ၎င်းကို ဖျက်လိုက်လျှင် ၎င်းကို ထပ်မံထည့်သွင်းပါ၊ သို့သော် ယခုတစ်ကြိမ်တွင် VMWare Workstation ထပ်မံမပျက်စီးစေရန် OS သို့ ပြောင်းလဲမှုများပြုလုပ်ခြင်းဆိုင်ရာ checkbox ကို ဖယ်ရှားလိုက်ပါ။
ရိုးရှင်းသောအသုံးပြုသူတစ်ဦးထံမှအရာအားလုံးအဆင်ပြေကြောင်းချက်ချင်းမှတ်သားလိုသည်၊ တပ်ဆင်ပရိုဂရမ်များသည်၎င်းတို့ကိုလိုအပ်သောအခါတွင်အခွင့်အရေးတိုးမြှင့်တောင်းဆိုလိမ့်မည်၊ သို့သော် command line ရှိ command များနှင့် scripts အားလုံးကိုလက်ရှိအသုံးပြုသူမှလုပ်ဆောင်သည်။
ထို့ကြောင့် အသင်းသည်
$ docker-machine create --driver=vmwareworkstation dev
Boot2Docker မှ၊ Docker ဖြစ်မည့် အထဲမှာ dev virtualka တစ်ခုကို ဖန်တီးပါမည်။
သက်ဆိုင်ရာ vmx ဖိုင်ကိုဖွင့်ခြင်းဖြင့် ဤ virtual machine သည် VMWare Workstation GUI နှင့် တွဲနိုင်ပါသည်။ သို့သော် ၎င်းသည် မလိုအပ်ပါ၊ အဘယ်ကြောင့်ဆိုသော် VSCode သည် ယခု PowerShell script ကို run ရန် လိုအပ်လိမ့်မည် (အကြောင်းတစ်ခုခုကြောင့်၊ ကျွန်ုပ်၏ docker-machine နှင့် docker-machine-driver-vmwareworkstation သည် bin ဖိုင်တွဲတွင် အဆုံးသတ်သွားသည်)။
cd ~/bin
./docker-machine env dev | Invoke-Expression
code
VSCode သည် စက်တွင်းစက်ရှိ ကုဒ်နှင့် virtual machine ရှိ docker ဖြင့်အလုပ်လုပ်ရန် VSCode ကိုဖွင့်ပါမည်။ ပလပ်အင်
အခက်အခဲများ-
docker-machine ဖန်တီးခြင်း လုပ်ငန်းစဉ်တွင်၊ လုပ်ငန်းစဉ်သည် ကျွန်ုပ်အတွက် ချိတ်ဆွဲထားသည်-
Waiting for SSH to be available...
ခဏအကြာတွင် ၎င်းသည် virtual machine နှင့် ချိတ်ဆက်ရန် ကြိုးပမ်းမှုများစွာဖြင့် အဆုံးသတ်ခဲ့သည်။
ဒါတွေအားလုံးက လက်မှတ်မူဝါဒနဲ့ ပတ်သက်တယ်။ အတုအယောင်စက်ကို ဖန်တီးသောအခါ၊ ဤလမ်းညွှန်တွင် ~.dockermachinemachinesdev လမ်းညွှန်တစ်ခု SSH မှတစ်ဆင့် ချိတ်ဆက်ရန်အတွက် လက်မှတ်ဖိုင်များ ရှိလိမ့်မည်- id_rsa, id_rsa.pub။ OpenSSH သည် ၎င်းတို့တွင် ခွင့်ပြုချက်ပြဿနာများရှိနေသည်ဟု ယူဆသောကြောင့် ၎င်းတို့ကို အသုံးပြုရန် ငြင်းဆိုနိုင်သည်။ docker-machine ကသာ ဒီအကြောင်းကို ဘာမှ မပြောဘဲ ငြီးငွေ့လာတဲ့အထိ ရိုးရိုးရှင်းရှင်း ပြန်ချိတ်ဆက်ပေးပါလိမ့်မယ်။
ဖြေရှင်းချက်: virtual machine အသစ်တစ်ခုဖန်တီးမှုစတင်သည်နှင့်တပြိုင်နက်၊ ကျွန်ုပ်တို့သည် ~ .dockermachinemachinesdev directory သို့သွားကာ သတ်မှတ်ထားသောဖိုင်များသို့ လုပ်ပိုင်ခွင့်များကို တစ်ကြိမ်လျှင် တစ်ခုစီပြောင်းပါ။
ဖိုင်ကို လက်ရှိအသုံးပြုသူမှ ပိုင်ဆိုင်ရမည်၊ လက်ရှိအသုံးပြုသူနှင့် SYSTEM မှသာလျှင် အပြည့်အဝဝင်ရောက်ခွင့်ရှိပြီး စီမံခန့်ခွဲသူများအဖွဲ့နှင့် စီမံခန့်ခွဲသူများကိုယ်တိုင်အပါအဝင် အခြားအသုံးပြုသူများအားလုံးကို ဖျက်ရပါမည်။
Windows မှ အကြွင်းမဲ့လမ်းကြောင်းများကို Posix ဖော်မတ်သို့ ပြောင်းခြင်းနှင့် သင်္ကေတလင့်ခ်များပါရှိသော volumes များကို binding လုပ်ရာတွင်လည်း ပြဿနာရှိနိုင်သည်။ ဒါပေမယ့် အဲဒါက တခြားဇာတ်လမ်းပါ။
source: www.habr.com