Docker

Yeonnยท2023๋…„ 8์›” 27์ผ
0

CS ๊ณต๋ถ€

๋ชฉ๋ก ๋ณด๊ธฐ
4/13
post-thumbnail

๐Ÿ“Œ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ

Container

OS ๋ ˆ๋ฒจ์˜ ๊ฐ€์ƒํ™”๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฉ๋ฆฌ์‹œ์ผœ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ, ์‹คํ–‰ํ™˜๊ฒฝ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ถ”์ƒํ™”ํ•˜๊ณ  ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

๊ฐ€์ƒํ™”?

์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์ž…์žฅ์—์„œ CPU ์‚ฌ์šฉ๋ฅ ์ด 10%๋Œ€ ๋ฐ–์— ๋˜์ง€ ์•Š๋Š” ํ™œ์šฉ๋„๊ฐ€ ๋‚ฎ์€ ์„œ๋ฒ„๋“ค์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‚ญ๋น„ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ํ•œ ์„œ๋ฒ„ ์•ˆ์— ์˜ฌ๋ฆฐ๋‹ค๋ฉด ์•ˆ์ •์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค. ์ด๋•Œ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋ฉด์„œ ๋ฆฌ์†Œ์Šค๋„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์ด ์„œ๋ฒ„ ๊ฐ€์ƒํ™”์ด๋‹ค.

VM ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ๊ณผ Docker ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ

โœ… VM: Host OS -> Hypervisor( ๊ฐ€์ƒํ™” ์‹œํ‚ค๊ธฐ ์œ„ํ•จ ) -> Guest OS
โœ… Docker: Docker Engine -> ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ

VM์€ ๊ฐ€์ƒํ™” ๋œ ํ•˜๋“œ์›จ์–ด ์œ„์— OS๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ํ˜•ํƒœ๋กœ ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๊ฒŒ Host์™€ ๋ถ„๋ฆฌ๋œ๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ OS ์œ„์— OS๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด๊ฒ๊ณ  ๋Š๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
Docker๋Š” Host OS์™€ Docker Engine ์œ„์—์„œ ๋ฐ”๋กœ ๋™์ž‘ํ•˜๋ฉฐ HOST ์ปค๋„์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ io ์ฒ˜๋ฆฌ๊ฐ€ ์‰ฝ๊ฒŒ ๋˜์–ด ์„ฑ๋Šฅ์˜ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์ƒ ๋จธ์‹  ์ƒ์„ฑ์ด ์•„๋‹Œ HOST OS๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ž์›์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Docker ์žฅ์ ๊ณผ ๋‹จ์ 

๋จผ์ € ์žฅ์ ์œผ๋กœ๋Š” ์•ž์„œ ๋งํ•œ HOST ์ปค๋„ ๊ณต์œ ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ, ๋›ฐ์–ด๋‚œ ์ด์‹์„ฑ, ์‰ฝ๊ฒŒ Scale Out ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๋Œ€์ ์œผ๋กœ ๋ณด์•ˆ์ ์ธ ์ธก๋ฉด์—์„œ๋Š” ๋ถˆ๋ฆฌํ•˜๊ณ  ๋ฉ€ํ‹ฐ OS ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

โ“ Scale Out?
์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€ ์ถ”๊ฐ€ํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ๋Œ€๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์„œ๋ฒ„์— ๊ฑธ๋ฆฌ๋Š” ๋ถ€ํ•˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” '๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ'์ด ํ•„์ˆ˜์ ์œผ๋กœ ๋™๋ฐ˜๋œ๋‹ค.
์„œ๋ฒ„ ํ•œ ๋Œ€๊ฐ€ ์žฅ์• ๋กœ ๋‹ค์šด๋˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ์„œ๋น„์Šค ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•œ ๋ฐ˜๋ฉด, ๋ชจ๋“  ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๊ฐ€ ์ ์€ '์›น ์„œ๋ฒ„'์— ์ ํ•ฉํ•œ ๋ฐฉ์‹์ด๋‹ค.

Docker / Kubernetes

Docker ๋Š” '์šด์˜ ์ฒด์ œ' ์— ์„ค์น˜ํ•˜๋Š” '์•ฑ'์˜ ๊ฐœ๋…์œผ๋กœ ์ปจํ…Œ์ด๋„ˆํ™” ๋Ÿฐํƒ€์ž„์„ ๋งํ•œ๋‹ค. Kubernetes ๋Š” '์šด์˜ ์ฒด์ œ' ๊ฐœ๋…์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํˆด์ด๋‹ค. ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ์ด๋‹ค. ์ฆ‰ Docker ์™€ Kubernetes ๋Š” ์–ด๋Š ๊ฒƒ์„ ์„ ํƒํ•  ์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ํ•จ๊ป˜ ์“ฐ์ด๋Š” ๊ฒƒ์ด๋‹ค !

0๊ฐœ์˜ ๋Œ“๊ธ€