Docker เปเบฅเบฐ VMWare Workstation เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Windows เบ”เบฝเบงเบเบฑเบ™

เบงเบฝเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ, เป€เบญเบปเบฒ Docker เปƒเบชเปˆเบ„เบญเบกเบžเบดเบงเป€เบ•เบต Windows เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เป€เบŠเบดเปˆเบ‡เบกเบตเบชเบงเบ™เบชเบฑเบ”เบขเบนเปˆเปเบฅเป‰เบง. เบ‚เป‰เบญเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Docker Desktop เปเบฅเบฐเบชเป‰เบฒเบ‡ containers, เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบต, เปเบ•เปˆเบ‚เป‰เบญเบเป„เบ”เป‰เบ„เบปเป‰เบ™เบžเบปเบšเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบงเปˆเบฒ VMWare Workstation เบขเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ virtual machines เบ”เป‰เบงเบเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”:

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

เบงเบฝเบเบ‡เบฒเบ™เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบฎเบตเบšเบ”เปˆเบงเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบญเบกเปเบ›เบ‡

Docker เปเบฅเบฐ VMWare Workstation เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Windows เบ”เบฝเบงเบเบฑเบ™

เป‚เบ”เบ googling, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบงเปˆเบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเป‰เบญเบ™เบ„เบงเบฒเบกเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบ‚เบญเบ‡ VMWare Workstation เปเบฅเบฐ Hyper-V เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™. เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเปเบฅเบฐเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ VMWare เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰ เปเบเป‰เป„เบ‚, เบ”เป‰เบงเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Microsoft Knowledge เบˆเบฑเบ”เบเบฒเบ™ 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 เบˆเบฐเบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ›เบปเบเบเบฐเบ•เบด, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบŠเบญเบเบซเบฒเบ•เบปเบงเป€เบญเบ‡เบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ docker.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ„เบทเบ™เบ”เบต Hyper-V เปเบฅเบฐ VMWare Workstation, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบ™เปƒเบ™เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ.

เบญเบตเบเบงเบดเบ—เบตเบซเบ™เบถเปˆเบ‡

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบดเบ” VMWare Workstation เบ”เบปเบ™เบ™เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ•เปˆเบฒเบ‡เป†, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบญเบญเบเบˆเบฒเบ Hyper-V เปเบฅเบฐ VirtualBox, เปเบ•เปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ™เบฑเปˆเบ‡เบขเบนเปˆเบˆเบปเบ™เป€เบ–เบดเบ‡เบ—เบธเบเบกเบทเป‰เบ™เบตเป‰. เบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบซเบกเบนเปˆเป€เบžเบทเปˆเบญเบ™ VMWare, Docker เปเบฅเบฐ VSCode เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบซเบ™เบถเปˆเบ‡.

เป€เบ„เบทเปˆเบญเบ‡ Docker - เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Docker Engine เปƒเบ™ virtual host เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบกเบฑเบ™เบ—เบฑเบ‡เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเปเบฅเบฐเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™. เปเบฅเบฐเบกเบตเป„เบ”เป€เบงเบตเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰ VMWare Workstation เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš github

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบšเบญเบเบ„เบทเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบฝเบ‡เปเบ•เปˆเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบชเปˆเบงเบ™เบ›เบฐเบเบญเบš:

  1. เบเปˆเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบท Docker (เป€เบ„เบทเปˆเบญเบ‡ Docker เบฅเบงเบก)
  2. Docker Machine VMware Workstation Driver
  3. DockerDesktop

เปเบกเปˆเบ™เปเบฅเป‰เบง, Docker Desktop, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบเบฑเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ—เปเบฒเบฅเบฒเบเบกเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เปเบ•เปˆเป€เบงเบฅเบฒเบ™เบตเป‰เบ–เบญเบ™ checkbox เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ OS, เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰ VMWare Workstation เบ—เปเบฒเบฅเบฒเบเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฑเบ‡เป€เบเบ”เบ—เบฑเบ™เบ—เบตเบงเปˆเบฒเบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ”เบตเบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบ‡เปˆเบฒเบเป†, เป‚เบ›เบฅเปเบเบฅเบกเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบˆเบฐเบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบชเบดเบ”เบ—เบดเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™, เปเบ•เปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบชเบฐเบ„เบดเบšเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบ›เบฐเบˆเบธเบšเบฑเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เบตเบกเบ‡เบฒเบ™:

$ docker-machine create --driver=vmwareworkstation dev

เบˆเบฒเบ Boot2Docker, dev virtualka เบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบžเบฒเบเปƒเบ™เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบ›เบฑเบ™ Docker.

เป€เบ„เบทเปˆเบญเบ‡ virtual เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบเบฑเบš VMWare Workstation GUI เป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เป„เบŸเบฅเปŒ vmx เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™. เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ•เบญเบ™เบ™เบตเป‰ VSCode เบˆเบฐเบ•เป‰เบญเบ‡เปเบฅเปˆเบ™เบชเบฐเบ„เบดเบš PowerShell (เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, docker-machine เปเบฅเบฐ docker-machine-driver-vmwareworkstation เบ‚เบญเบ‡เบ‚เป‰เบญเบเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เปƒเบ™เป‚เบŸเบ™เป€เบ”เบต bin):

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

VSCode เบˆเบฐเป€เบ›เบตเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบฅเบฐ docker เปƒเบ™ virtual machine. เบ›เบฅเบฑเบเบญเบดเบ™ Docker เบชเปเบฒเบฅเบฑเบš Visual Studio Code เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเป„เบ”เป‰เบชเบฐเบ”เบงเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ console.

เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบ:

เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ docker-machine, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ hung เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ:

Waiting for SSH to be available...

Docker เปเบฅเบฐ VMWare Workstation เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Windows เบ”เบฝเบงเบเบฑเบ™

เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบกเบฑเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual.

เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเปˆเบฝเบงเบเบฑเบšเบ™เบฐเป‚เบเบšเบฒเบเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™. เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual, เบ—เปˆเบฒเบ™เบˆเบฐเบกเบตเบฅเบฒเบเบเบฒเบ™ ~.dockermachinemachinesdev เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰เบˆเบฐเบกเบตเป„เบŸเบฅเปŒเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ SSH: id_rsa, id_rsa.pub. OpenSSH เบญเบฒเบ”เบˆเบฐเบ›เบฐเบ•เบดเป€เบชเบ”เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบ„เบดเบ”เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”. เบžเบฝเบ‡เปเบ•เปˆ docker-machine เบˆเบฐเบšเปเปˆเบšเบญเบเบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เปเบ•เปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบทเบ™เปƒเบซเบกเปˆเบˆเบปเบ™เบเปˆเบงเบฒเบกเบฑเบ™เป€เบšเบทเปˆเบญ.

เบเบฒเบ™เปเบเป‰เป„เบ‚: เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual เปƒเบซเบกเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต ~ .dockermachinemachinesdev เปเบฅเบฐเบ›เปˆเบฝเบ™เบชเบดเบ”เบ—เบดเปƒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰, เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ”เบฝเบง.

เป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบ›เบฐเบˆเบธเบšเบฑเบ™, เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐ SYSTEM เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบœเบนเป‰เปƒเบŠเป‰เบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เบฅเบงเบกเบ—เบฑเบ‡เบเบธเปˆเบกเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เปเบฅเบฐเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เป€เบญเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบก.

เบญเบฒเบ”เบˆเบฐเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เบˆเบฒเบ Windows เป„เบ›เบชเบนเปˆเบฎเบนเบšเปเบšเบš Posix, เปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ—เบตเปˆเบกเบตเบชเบฑเบ™เบเบฒเบฅเบฑเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ. เปเบ•เปˆเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบญเบทเปˆเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™