์ƒˆ์†Œ์‹

Containers/Docker

๐Ÿ“‘Docker๋Š” ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

  • -

Docker๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑ, ๋ฐฐํฌ ๋ฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž, ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž, ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๋“ค ์‚ฌ์ด์—์„œ ๊ด‘๋ฒ”์œ„ํ•œ ์ธ๊ธฐ๋ฅผ ์–ป์€ ์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋žซํผ์ด๋‹ค. ์ด ๋ธ”๋กœ๊ทธ์—์„œ๋Š” Docker๊ฐ€ ๋ฌด์—‡์ธ์ง€, Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๋ฐ Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ŒContainer๋ž€ ๋ฌด์—‡์ด์ง€?

Container๋Š” ์ฝ”๋“œ, ๋Ÿฐํƒ€์ž„, ์‹œ์Šคํ…œ ๋„๊ตฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์„ค์ •์„ ํฌํ•จํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํฌํ•จํ•˜๋Š” ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์‹คํ–‰ ๊ฐ€๋Šฅ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. Container๋Š” ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ๋‚˜ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ณ  Docker runtime์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฉ๋ฆฌ๋œ ๋‹จ์œ„๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ŒDocker๋Š” ๋ญ์•ผ?

Docker๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ์„ฑ, ๋ฐฐํฌ, ์‹คํ–‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ํ†ตํ•ฉ๋˜๊ณ  ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒจํ‚ค์ง•, ๋ฐฐํฌ ๋ฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋””์— ๊ตฌ์ถ•๋˜์–ด ์žˆ๋“  ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Docker๋Š” ๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ผ๋ จ์˜ ๋„๊ตฌ์™€ API๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ŒDocker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Docker๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’กํœด๋Œ€์„ฑ(Portability)

Docker๋Š” ํœด๋Œ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฏ€๋กœ ํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ๋กœ ์ด๋™ํ•˜๊ณ  ๋„์ปค ๋Ÿฐํƒ€์ž„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ ๋ฐ ํ”„๋กœ๋•์…˜์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก๊ฒฉ๋ฆฌ(Isolation)

Docker๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ถ„๋ฆฌ๋œ ๋‹จ์œ„๋กœ, ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ๋ฐ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์™€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฉ๋ฆฌ๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐฐํฌ๋˜๋Š” ์œ„์น˜์— ์ƒ๊ด€์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’กํšจ์œจ์„ฑ(Efficiency)

Docker๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ตฌ์„ฑ์š”์†Œ๋งŒ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ ์ธํ”„๋ผ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’กํ™•์žฅ์„ฑ(Scalability)

Docker๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฆ๊ฐ€ํ•œ ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ์ˆ˜์š”๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•ญ์ƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ์‘๋‹ต์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก์ž๋™ํ™”(Automation)

Docker๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ จ์˜ ๋„๊ตฌ์™€ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ์™€ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ผ๊ด€๋˜๊ณ  ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ŒDocker ์‚ฌ์šฉํ•  ๋•Œ ํšจ๊ณผ์ ์ธ case

๐Ÿ’กํ‘œ์ค€ํ™”๋œ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์‚ฌ์šฉ

Docker Hub์˜ ๊ณต์‹ ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ํ‘œ์ค€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ผ๊ด€๋˜๊ณ  ํœด๋Œ€ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’กContainer๋ฅผ ํ†ตํ•œ ํšจ์œจ์„ฑ&ํ™•์žฅ์„ฑ

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ตฌ์„ฑ์š”์†Œ๋งŒ ํฌํ•จํ•˜๋„๋ก ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž‘๊ณ  ์ง‘์ค‘์ ์œผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ปจํ…Œ์ด๋„ˆ์˜ ํšจ์œจ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’กํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ฌ์šฉ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก๊ตฌ์ถ• ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”

๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์ˆ˜๋™ ์ž‘์—… ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ณ  ์ผ๊ด€๋˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’กContainer ๋ชจ๋‹ˆํ„ฐ๋ง

๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ์— ์ข‹์Šต๋‹ˆ๋‹ค.

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.