WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

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์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Docker Desktop WSL 2 ๊ธฐ์ˆ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ
  2. Windows ์Šคํ† ์–ด์˜ Ubuntu 18.04

๋‘ ์ง€์  ๋ชจ๋‘์—์„œ ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ ์ง€์นจ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

Ubuntu 18.04 ๋ฐฐํฌํŒ ์„ค์น˜

Ubuntu 18.04๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— PowerShell์—์„œ ๋‘ ๊ฐ€์ง€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ Windows WSL ๋ฐ Windows Virtual Machine Platform์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (์ปดํ“จํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•จ)
  2. 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๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

์—ด๋ฆฌ๋Š” ์ฐฝ์—์„œ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

์ด์ œ Docker ๋ฐ docker-compose๋ฅผ WSL ๋ฐฐํฌํŒ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์š”! ์ด์ œ ์—…๋ฐ์ดํŠธ๋œ Docker Desktop์˜ ์„ค์ • ์ฐฝ์— WSL ํƒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ WSL ์ง€์›์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

์ค‘์š”! WSL ํ™œ์„ฑํ™” ํ™•์ธ๋ž€ ์™ธ์—๋„ ๋ฆฌ์†Œ์Šค->WSL ํ†ตํ•ฉ ํƒญ์—์„œ WSL ๋ฐฐํฌํŒ์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

WSL(Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ)์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

์ถœ์‹œ

์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒƒ์€ 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์— ์žˆ์Œ)์— ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.

์†Œ์Šค

๊ฐ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€