-
Docker for windows 10 : ๋์ปค ๊ฐ๋ต, windows 10 ์ ๋์ปค ์ค์นํ๊ธฐ ๋ฐฉ๋ฒPROGRAMMING/๊ธฐํ 2021. 7. 14. 23:59
Docker ๋?
๋์ปค, ๋ง์ ๊ต์ฅํ ๋ง์ด ๋ค์ด๋ดค๋๋ฐ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฌ์ฉํด์ผ๊ฒ ๋ค, ๋ผ๊ณ ์๊ฐํ ๊ฒ์ ์ผ๋ง์ VirtualBox ๋ก ์์ ํ๋ ์ค ๋ถํ ์ด ์๋๋ฉฐ ๋ค ๋ ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
(๋ค ๋ ์๋์ง๋ง, ๊ท์ฐฎ์์ ..)์ฌ๊ธฐ์ ์ ๊ฐ์๋จธ์ ์ 8MB ์ ์ฅ๊ณต๊ฐ์ผ๋ก ์ค์นํ๋ ค๊ณ ํ๋๋ฐ ๋๋ต 1์๊ฐ ์ ๋๊ฐ ๊ฑธ๋ ธ๋ค.
๊ทธ๋์ ๋ ๊ฐํธํ๊ณ , ๋ฐฑ์ ๋ ๋๊ณ , ๊ฐ๋ฒผ์ด Docker ์ ํ์์ฑ์ ์ ๊ฐ, ์ฌ์ฉํ๊ฒ ๋์๋ค.
Docker ์ ๋ํด์๋ ๊ทธ๋ฅ ํฐ ๊ทธ๋ฆผ๋ง, ์ถ์์ ์ผ๋ก ์ด๋ค ๋๋์ธ์ง๋ง ์ดํผ๊ณ ๊ฐ๊ฒ ๋ค.
Docker ๋ '์ปจํ ์ด๋' ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋๋ฐ ์ด ์ปจํ ์ด๋์๋ ์ ๋ง ์ด๋ ํ ์ด๋ฏธ์ง๋ ๋ค์ด๊ฐ ์ ์๋ค.
๊ทธ๊ฒ OS ๋ , Database ๋ ,,
์ฐ๋ฆฌ๊ฐ ํํ ์ปจํ ์ด๋๋ผ๊ณ ์๊ฐํ๋ฉด, ์์ ๋ฌด์์ด๋ ๋ฃ์ ์ ์๋ค. ('์ฃผ๋จธ๋' ๋ผ๊ณ ๋ ํ ์ ์๊ฒ ๋ค.)
๊ทธ๊ฒ์ฒ๋ผ ์์ ์ด๋ค ๊ฒ์ด๋ ๋ฃ์ด์ ์๋์ํฌ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋์ ์ด ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ง์ ์ฌ๋๋ค์ด ํ์ฉํ๊ณ ์๊ณ , ์ง์ ์์ ์ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด์ ๋ฐฐํฌํ๋ ๊ฒ๋ ํ๋ฐํ ์ด๋ฃจ์ด์ง๋ ์ค์ด๋ค.
๋ด๊ฐ ๋์ปค๋ฅผ ์์ํ๋ ๋ชฉํ๊ฐ ๊ฐ์๋จธ์ ์ ๋์ฒด์ฌ์๋๋ฐ, VMware ๋๋ VirtualBox ์์ ์์ฑํ๋ ๊ฐ์๋จธ์ ์ ๊ฒฝ์ฐ ํ๋์ OS ์์์ ๋ค๋ฅธ OS ๋ฅผ ๊ฐ์ํํด์ ์ฌ์ฉํ๋ค.
๊ธฐ๋ฐ์ด ๋๋ OS (Host OS) ๊ฐ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ๋จธ์ ์ ๋ง๋๋ ์ปดํจํฐ์ OS ์ด๊ณ , ๋๊ฐ์ ๊ฒฝ์ฐ ์ฃผ๋ก windows10 ์์ ubuntu 18.04 ๋ฅผ ๊ฐ์ํํด์ ์ฌ์ฉํ๋ค.
์ด๋ ๊ฒ ํ OS ์์ guest OS ๋ฅผ ์ค์นํ์ฌ ๋ค๋ฅธ OS ๋ฅผ ๊ตฌ๋ํ๋ ๋ฐฉ์์ 'ํธ์คํธํ ๊ฐ์ํ'๋ผ๊ณ ํ๋ค.
(guest OS ๋ฅผ ์ค์นํ๊ณ ๊ตฌ๋ํ๋ ๊ฒ์ด VMware, VirtualBox ๋ฑ์ด ์ ๊ณตํ๋ ๊ฒ์ด๋ค)
๋ฐ๋ฉด ๋์ปค๋ 'OS ๋ ๋ฒจ ๊ฐ์ํ ๊ธฐ๋ฒ'์ ์ฌ์ฉํ์ฌ, guest OS ์์ด host OS ์์์ ์ ์ ๊ณต๊ฐ์ ๊ฐ์ํํ๋ค.
์ด๋ ๋ณ๋์ ์ปค๋์์ ๋ OS ๊ฐ ์คํ๋๋ ๊ฒ์ด ์๋, Host OS ์ ์ปค๋์ ๊ณต์ ํ์ฌ ์คํํ๊ฒ ๋๋ฏ๋ก ํธ์คํธํ ๊ฐ์ํ๋ณด๋ค ์๋๊ฐ ํจ์ฌ ๋น ๋ฅด๋ค.
๋ฌด์๋ณด๋ค ํฐ ์ฅ์ ์ ๋ค์ํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ ์ ์๊ณ , ์์ ์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋ ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
๊ทธ๋ผ ์ง๊ธ๋ถํฐ Window 10 ์ ์ด๋ป๊ฒ Docker ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ ์ ์์์ง ์ดํด๋ณด๋๋ก ํ๊ฒ ๋ค.
Windows 10 ์ Docker ์ค์นํ๊ธฐ
์ด๋ค ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ณ ํ๊ฒฝ ์ค์ ์ ํ๋ ๋ฐ์๋ (๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ฉ๊น์ง) ๊ณต์ ๋ฌธ์ ๋งํ๊ฒ ์๋ค. ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๋ ์ต๊ด์ ๋ค์ด์ ใ
(https://docs.docker.com/docker-for-windows/install/: docket for windows)
์์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ์ฌ Windows 10 ์ Docket Desktop ์ ์ค์นํ์๋ค.
๋ค๋ง, ๋ชจ๋ Windows 10 ์ด Docker Desktop ์ ์ง์ํ๋ ๊ฒ์ ์๋๊ณ , ๋ค์์ 2 ๊ฐ์ง ์ฌํญ์ ์ฌ์ฉํ ์ ์๋ OS ์ฌ์ผ ํ๋ค.
- WSL 2 backend
- Hyper-V backend and Windows Conainers
๋ค ์ฌํญ์ ๋ง์กฑํ๋ PC ๋ผ๋ฉด, ์ด์ ์ค์น๋ฅผ ์์ํด๋ณด์. (๋ง์ฝ ์ง์ํ์ง ์๋๋ค๋ฉด, Linux ๋ก ๋์ปค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด์ผ ํ๋ค.- ์ฐธ๊ณ https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html)
Hyper-V ํ์ฑํ
๋จผ์ Hyper-V ๋ฅผ ์ฌ์ฉ ์ค์ธ์ง ํ์ธํด๋ณด์.
์์ ๊ด๋ฆฌ์ - ์ฑ๋ฅ์์ ๊ฐ์ํ๊ฐ '์ฌ์ฉ' ์ผ๋ก ๋์ด์๋์ง, ๋๋ PowerShell ์์ systeminfo | find "Hyper" ์ ๋ ฅ ์ Hyper-V ๊ฐ ๋์จ๋ค๋ฉด ์ฌ์ฉ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
๋ง์ฝ ์ฌ์ฉ์ค์ด ์๋๋ผ๋ฉด, MicroSoft ๊ฐ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ฉด ๋๋ค!
(https://docs.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
Instll WSL 2
(https://docs.microsoft.com/en-us/windows/wsl/install-win10: Install WSL & update WSL 2)
์ด์ WSL 2 ๋ฅผ ์ค์นํด๋ณด์.
PowerShell ์ ์ด๊ณ , ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ๊ฐ๋ณด์.
Step 1) Windows ์ Linux ๊ด๋ จ์ ์ค์นํ๊ธฐ ์ํด์๋ "Windows Subsystem for Linux" ๋ฅผ ํ์ฑํ์์ผ์ผ ํ๋ค.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
(PowerShell ์ ์ ๋ ฅ)
Step 2) Virtual Machine Platform ์ ํ์ฑํํ๋ค.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(PowerShell ์ ์ ๋ ฅ)
Step 3) Linux Kernel update package ๋ฅผ ๋ค์ด๋ฐ๋๋ค.
(2021 07 19 ๊ธฐ์ค, ์ต์ ๋ฒ์ ๋ค์ด ๋งํฌ: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
๋ง์ฝ x64 ๊ฐ ์๋ ARM64 ๋ฅผ ์ฌ์ฉํ๋ PC ๋ผ๋ฉด, ARM64 Package (https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi) ๋ฅผ ๋ค์ด๋ฐ์์ผ ํ๋ค.
x64 ์ ARM 64 ํ์ธ ๋ฐฉ๋ฒ!
๋๋ณด๊ธฐPowerShell ์์ systeminfo | find "์์คํ ์ข ๋ฅ" ๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด, ํด๋น ์ ๋ณด๋ฅผ ์ ์ ์์ต๋๋ค.
ํ์ผ์ ์ ๋ค์ด๋ฐ์์ผ๋ฉด, ๋ค์ด๋ฐ์ ํ์ผ์ ์คํํ์ฌ ์๋ด์ ๋ฐ๋ผ ์ค์นํ๋ฉด ๋๋ค.
์ค์น ํ์๋ ์ด์ Docker Desktop ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค!
Install Docker Desktop
https://docs.docker.com/docker-for-windows/install/ ์ ๋ค์ ํ๋ ๋ฒํผ์ ๋๋ฅด๋ฉด, ์ค์น ํ์ผ์ ๋ค์ด๋ฐ์ ์ ์๋ค.
(https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe)
๋ค์ด๋ฐ์ ํ์ผ์ ์คํํ์ฌ ์๋ด์ ๋ฐ๋ผ ์ค์นํ๋ฉด ๋๋ค.
๊ทธ๋ผ Docker Desktop ์ ์คํํ์ฌ ๋์ปค๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ ์ค์น๋๋์ง๋ docker version ์ PowerShell ์ ์ ๋ ฅํ๋ฉด ์ ์ ์๋ค.
WSL2 Error
WSL(windows Subsystem for Linux 2) ๊ฐ ์ค์น๋์ง ์์๋ค๋ ์ค๋ฅ๊ฐ ๋จ๊ธฐ๋ ํ๋ค.
WSL2 ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ค์นํ์ง ์์๊ฑฐ๋, ์์ ์ค์นํ์ง ์์ ๊ฒฝ์ฐ์ด๋ค.
Microsoft ์ ๊ณต์ ๋ฌธ์ https://docs.microsoft.com/en-us/windows/wsl/install-win10 ์ ๋ณด๊ณ ๋ฐ๋ผ๊ฐ์.
์์ Install WSL 2 ๋ฅผ ๋ฐ๋ผ์ WSL 2 ๋ฅผ ์ ์ค์นํ๋ฉด ๋๋ค.
WSL 2 ์ค์น ํ์๋ PC ๋ฅผ ๋ค์ ์์ํด์ผ ํ๋ค.
Windows 10 '์ข ๋ฃ' ํ๊ธฐ
๋จ, Windows 10 ์ ๊ฒฝ์ฐ windows ๋ฒํผ -> ๋ค์ ์์ ์ด ์์ ํ ์ ์์ ๋๋ ๊ฒ์ด ์๋๋ค. ๊ทธ๋์ ๋ค์์ ๋ ๋ฐฉ๋ฒ ์ค ํ๋ (ํน์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ ์ ์์ต๋๋ค) ๋ฅผ ์ ํํด์ '์ข ๋ฃ' ํด์ฃผ์.
- ์์ ๊ด๋ฆฌ์์์ ํ์ผ - ์ ์์ ์ผ๋ก shutdown -s -t 0 ์ ์ ๋ ฅํ์ฌ ์คํํ๊ฑฐ๋,
- shift ํค๋ฅผ ๋๋ฅธ ์ํ์์ '๋ค์ ์์' ์ ๋๋ฅด๊ณ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ ์ ๋๋ ๋ฒํผ์ด ์๋ก ๋์จ๋ค. ๊ทธ๊ฑธ ๋๋ฅด๋ฉด ๋๋์ด '์ข ๋ฃ'๊ฐ ๋๋ค.
'PROGRAMMING > ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ