WSL์์ Docker ํ๋ก์ ํธ๋ฅผ ์๋ฒฝํ๊ฒ ์ฌ์ฉํ๋ ค๋ฉด WSL 2๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. ์ด ๊ธ์ ์ฐ๋ ์์ ์์๋ Windows Insider ํ๋ก๊ทธ๋จ ์ฐธ์ฌ์ ์ผ๋ถ๋ก๋ง WSL 2๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค(WSL 18932๋ ๋น๋ 10 ์ด์์์ ์ฌ์ฉ ๊ฐ๋ฅ). Docker Desktop์ ์ค์นํ๊ณ ๊ตฌ์ฑํ๋ ค๋ฉด Windows XNUMX Pro ๋ฒ์ ์ด ํ์ํ๋ค๋ ์ ๋ ๋ณ๋๋ก ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋จ๊ณ
Insider ํ๋ก๊ทธ๋จ์ ์ฐธ์ฌํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ค์นํ ํ์๋ Linux ๋ฐฐํฌํ(์ด ์์์๋ Ubuntu 18.04)๊ณผ WSL 2 Tech Preview๊ฐ ํฌํจ๋ Docker Desktop์ ์ค์นํด์ผ ํฉ๋๋ค.
๋ ์ง์ ๋ชจ๋์์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ค์น ๋ฐ ๊ตฌ์ฑ ์ง์นจ์ ๋ฐ๋ฆ ๋๋ค.
Ubuntu 18.04 ๋ฐฐํฌํ ์ค์น
Ubuntu 18.04๋ฅผ ์คํํ๊ธฐ ์ ์ PowerShell์์ ๋ ๊ฐ์ง ๋ช ๋ น์ ์คํํ์ฌ Windows WSL ๋ฐ Windows Virtual Machine Platform์ ํ์ฑํํด์ผ ํฉ๋๋ค.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(์ปดํจํฐ๋ฅผ ๋ค์ ์์ํด์ผ ํจ)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
๊ทธ๋ฐ ๋ค์ WSL v2๋ฅผ ์ฌ์ฉํ ๊ฒ์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด WSL ๋๋ PowerShell ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
wsl -l -v
โ ํ์ฌ ์ค์น๋ ๋ฒ์ ์ ํ์ธํ์ธ์. 1์ด๋ฉด ๋ชฉ๋ก ์๋๋ก ๋ ์ด๋ํฉ๋๋ค.wsl --set-version ubuntu 18.04 2
- ๋ฒ์ 2๋ก ์ ๋ฐ์ดํธwsl -s ubuntu 18.04
โ ๊ธฐ๋ณธ ๋ฐฐํฌํ์ผ๋ก Ubuntu 18.04๋ฅผ ์ค์นํฉ๋๋ค.
์ด์ Ubuntu 18.04๋ฅผ ์์ํ๊ณ ๊ตฌ์ฑํ ์ ์์ต๋๋ค(์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ ์ง์ ).
๋์ปค ๋ฐ์คํฌํ ์ค์น
์ค์น ๊ณผ์ ์ค ์ง์นจ์ ๋ฐ๋ฅด์ญ์์ค. Hyper-V(์ง์ํ๋ ค๋ฉด Windows 10 Pro ํ์)๋ฅผ ํ์ฑํํ๋ ค๋ฉด ์ค์น ํ ๋ฐ ์ฒ์ ์์ ์ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํด์ผ ํฉ๋๋ค.
์ค์! Docker Desktop์ด ๋ฐฉํ๋ฒฝ์ ์ํ ์ฐจ๋จ์ ๋ณด๊ณ ํ๋ ๊ฒฝ์ฐ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ค์ ์ผ๋ก ์ด๋ํ์ฌ ๋ฐฉํ๋ฒฝ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํฉ๋๋ค(์ด ์์์๋ Kaspersky Total Security๊ฐ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ผ๋ก ์ฌ์ฉ๋จ).
- ์ค์ -> ๋ณด์ -> ๋ฐฉํ๋ฒฝ -> ํจํท ๊ท์น ๊ตฌ์ฑ -> ๋ก์ปฌ ์๋น์ค(TCP) -> ํธ์ง์ผ๋ก ์ด๋ํ์ธ์.
- ๋ก์ปฌ ํฌํธ โโ๋ชฉ๋ก์์ ํฌํธ 445๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- ์ ์ง
Docker Desktop์ ์์ํ ํ ์ํฉ์ ๋ง๋ ๋ฉ๋ด์์ WSL 2 Tech Preview๋ฅผ ์ ํํฉ๋๋ค.
์ด๋ฆฌ๋ ์ฐฝ์์ ์์ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
์ด์ Docker ๋ฐ docker-compose๋ฅผ WSL ๋ฐฐํฌํ ๋ด์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์! ์ด์ ์ ๋ฐ์ดํธ๋ Docker Desktop์ ์ค์ ์ฐฝ์ WSL ํญ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์์ WSL ์ง์์ด ํ์ฑํ๋ฉ๋๋ค.
์ค์! WSL ํ์ฑํ ํ์ธ๋ ์ธ์๋ ๋ฆฌ์์ค->WSL ํตํฉ ํญ์์ WSL ๋ฐฐํฌํ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
์ถ์
์์์น ๋ชปํ ๊ฒ์ Windows ์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ๋ก์ ํธ ์ปจํ ์ด๋๋ฅผ ๋ค์ด์ฌ๋ฆฌ๋ ค๊ณ ํ ๋ ๋ฐ์ํ๋ ๋ง์ ๋ฌธ์ ์์ต๋๋ค.
bash ์คํฌ๋ฆฝํธ(์ผ๋ฐ์ ์ผ๋ก ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋ฐฐํฌํ์ ์ค์นํ๊ธฐ ์ํด ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ถํ ๋ ์์๋จ) ์คํ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ์ข ๋ฅ์ ์ค๋ฅ ๋ฐ Linux ๊ฐ๋ฐ์ ํํ ๋ฐ์ํ๋ ๊ธฐํ ์ฌํญ์ผ๋ก ์ธํด ํ๋ก์ ํธ๋ฅผ Ubuntu 18.04์ ์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ์ ์ง์ ๋ฐฐ์นํ๋ ๊ฒ์ ๋ํด ์๊ฐํ๊ฒ ๋์์ต๋๋ค.
.
ํด๊ฒฐ ๋ฐฉ๋ฒ๋ถํฐ ์ด์ ๋ฌธ์ ๊น์ง Windows์ ์ค์น๋ IDE๋ฅผ ํตํด ํ๋ก์ ํธ ํ์ผ๋ก ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. "๋ชจ๋ฒ ์ฌ๋ก"๋ก์ ์ ๋ VSCode๋ฅผ ํตํด ์์ ํ๋ ๋จ ํ๋์ ์ต์ ๋ง ์ฐพ์์ต๋๋ค(์ ๋ PhpStorm์ ํฌ์ด์ง๋ง).
VSCode๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํ ํ ๋ฐ๋์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ธ์.
์์์ ์ธ๊ธํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ ํ ๊ฐ๋จํ ๋ช
๋ น์ ์คํํ์ธ์. code .
VSCode๊ฐ ์คํ ์ค์ผ ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค.
์ด ์์์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ปจํ
์ด๋์ ์ก์ธ์คํ๋ ค๋ฉด nginx๊ฐ ํ์ํฉ๋๋ค. ๋ค์์ ํตํด ์ค์นํ์ธ์. sudo apt-get install nginx
๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง ์์ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. ๋จผ์ ๋ค์์ ์คํํ์ฌ WSL ๋ฐฐํฌํ์ ์
๋ฐ์ดํธํด์ผ ํ์ต๋๋ค. sudo apt update && sudo apt dist-upgrade
, ๊ทธ ํ์์ผ nginx ์ค์น๋ฅผ ์์ํฉ๋๋ค.
์ค์! ๋ชจ๋ ๋ก์ปฌ ๋๋ฉ์ธ์ Linux ๋ฐฐํฌํ์ /etc/hosts ํ์ผ(์ฌ์ง์ด ์กด์ฌํ์ง๋ ์์)์ด ์๋๋ผ Windows 32์ ํธ์คํธ ํ์ผ(์ผ๋ฐ์ ์ผ๋ก C:WindowsSystem10driversetchosts์ ์์)์ ๋ฑ๋ก๋ฉ๋๋ค.
์์ค
๊ฐ ๋จ๊ณ์ ๋ํ ์์ธํ ์ค๋ช ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
https://code.visualstudio.com/docs/remote/wsl https://docs.docker.com/docker-for-windows/wsl-tech-preview/ https://docs.docker.com/docker-for-windows/ https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-install
์ถ์ฒ : habr.com