Docker: Windows, Mac์—์„œ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰ํ•˜๋Š”๊ฐ€?

์ด์ „์— Docker: Basic๋ผ๋Š” ๊ธ€์—์„œ ๋„์ปค๋Š” LXC์™€ cgroups, namespace๋ฅผ ํ†ตํ•ด ๋™์ž‘ํ•œ๋‹ค๊ณ  ํฌ์ŠคํŒ…ํ•œ์ ์ด ์žˆ๋‹ค. ์œˆ๋„์šฐ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ Mac์—์„œ๋„ ์‹คํ–‰๊ฐ€๋Šฅํ•œ๋ฐ ์–ด๋–ค ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. Windows๋Š” ์–ด๋–จ๊นŒ? ์œˆ๋„์šฐ์—์„œ๋Š” `cgroups`, `namespace`์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น OS ํ™˜๊ฒฝ์—์„œ ๋„์ปค๋ฅผ ์„ค์น˜ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๋‹ฌ๋ฆฌ `LinuxKit`์„ ํ†ตํ•œ ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. Mac์€ ์–ด๋–จ๊นŒ? ์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ ๋ฆฌ๋ˆ…์Šค ๋””๋ ‰ํ† ๋ฆฌ์™€ ์ƒ์ดํ•œ ํ™˜๊ฒฝ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, Hypervisor๋ฅผ ํ†ตํ•ด lightweight Linux๊ฐ€ ์‹คํ–‰ ์ค‘์ด๊ตฌ๋‚˜๋ผ๊ณ  ๋ฐ”๋กœ ์ƒ๊ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ Mac์€ ๋„์ปค์˜ ์‹คํ–‰ํ™˜๊ฒฝ์ด Mac์˜ ๋กœ์ปฌ์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ๊ณผ ..

Docker: Manage Container

Install & Run ๊ณผ์ •์—์„œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋Š” ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ์š”๋ฅผ ์ดํ•ดํ•œ ๊ฒƒ ๋ฟ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณผ๋ฅจ, ๋„คํŠธ์›Œํฌ, ์ž์› ํ• ๋‹น์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ ๋ณด์žฅ๊ณผ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ, ์ž์› ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค๋ฉด ํšจ์œจ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.๐Ÿ™‚ Volume ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด, ๊ธฐ์กด์˜ ์ด๋ฏธ์ง€๋Š” ์ฝ๊ธฐ ์ „์šฉ ์ƒํƒœ์ด๋ฉฐ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ณ€๋™๋œ ์ •๋ณด๋งŒ ๋ณ„๋„๋กœ ์ €์žฅํ•˜์—ฌ ๊ฐ ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด๋Š” ์‚ญ์ œ๋˜๊ฒŒ ๋˜๋ฉฐ, ๋ณต๊ตฌ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‹ค. ์ด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ๋„์ปค ๋ณผ๋ฅจ์ด๋‹ค. 1. ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ  docker run -v host_d..

Docker: Install & Run

์šฐ๋ถ„ํˆฌ 18.04์—์„œ ๋„์ปค๋ฅผ ์„ค์น˜๋ฅผ ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค. ๊ฐ„๋‹จํžˆ ๋ช…๋ น์–ด ๋ช‡์ค„๋กœ ๋„์ปค๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ • ๋˜ํ•œ ๊ฐ„๋‹จํ•˜๋‹ค.๐Ÿ˜ ๋„์ปค ์„ค์น˜ sudo apt install curl curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh docker -v curl์ด ์„ค์น˜ ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์ฒซ ๋ฒˆ์งธ ์ค„๊ณผ ๊ฐ™์ด curl์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ ํ›„์— ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋„์ปค๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์„ค์น˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์ธ docker -v์—์„œ ๋ฒ„์ „ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋„์ปค๊ฐ€ ์„ค์น˜ ๋œ ๊ฒƒ์ด๋‹ค. ๋„์ปค ๊ทธ๋ฃน์— ์œ ์ € ์ถ”๊ฐ€ sudo usermod -aG docker $USER sudo usermod -aG docker other-u..

Docker: Basic

๋„์ปค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ๊ธฐ์กด์˜ LXC(Linux Container)์™€ ๋‹ฌ๋ฆฌ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๊ณ , ์ง€๊ธˆ๋„ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ์• ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋ฐฐ๊ฒฝ์ง€์‹์„ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. Container ์ปจํ…Œ์ด๋„ˆ๋Š” ์šด์˜์ฒด์ œ ์ˆ˜์ค€์˜ ๊ฐ€์ƒํ™”(Operating System level virtualization)์„ ํ†ตํ•ด ๊ฐ ์ปจํ…Œ์ด๋„ˆ ๋ณ„๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ๋„์ปค๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „์—๋Š” LXC(Linux Container)๊ฐ€ ์œ ๋ช…ํ•˜์˜€๋‹ค. ์ดˆ๊ธฐ์— ๋„์ปค๋Š” LXC๋ฅผ ๋Ÿฐํƒ€์ž„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์˜€๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ, ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋ฉด์„œ LXC ์—†์ด๋„ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „์„ ์ œ๊ณตํ•˜์˜€๋‹ค. VM Ware์™€ Virtual Box๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ๋‹ฌ๋ฆฌ Hypervisor๋ฅผ ํ†ตํ•ด Ge..

๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€