๐Ÿ“Œ ๊ณต๋ถ€ ์ด์œ 

์‹ค์ „ ํ”„๋กœ์ ํŠธํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ๋ฅผ ๊ณ ๋„ํ™”ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ๊ธฐ์ˆ ์— ๋„์ „ํ•ด๋ณด๊ณ  ์žˆ๋‹ค. Docker๋„ ๊ทธ ์ค‘ ํ•˜๋‚˜๋กœ, ์ด๋ฆ„๋งŒ ์•Œ๊ณ  ๋ญํ•˜๋Š” ๋…€์„์ธ์ง€ ์ „ํ˜€ ๋ชฐ๋ž๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ค์Šตํ•˜๋ฉด์„œ ์ตํ˜€๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

+ ์›ํ‹ฐ๋“œ ์ฑŒ๋ฆฐ์ง€ 23๋…„ 4์›” Docker ๊ฐ•์‚ฌ ๊ณ ๋ณ‘ํ˜„๋‹˜์˜ ๊ฐ•์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋” ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

๐Ÿ“Œ Docker ์™œ ์จ์š”? 

๋‚˜๋งŒ ํ•ด๋„ ์œˆ๋„์šฐ OS๋ฅผ ์“ฐ๊ณ  ์žˆ์ง€๋งŒ ์„œ๋ฒ„๋Š” AWS Ubuntu๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐœ๋ฐœํ™˜๊ฒฝ๊ณผ ๋ฐฐํฌํ™˜๊ฒฝ์ด ์ „ํ˜€ ๋‹ค๋ฅด๋‹ค.

๊ทธ๋ž˜์„œ ๋กœ์ปฌ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ ๋Œ๋ฆฌ๋ฉด ์ž˜ ๋Œ์•„๊ฐ€๋Š”๋ฐ ์„œ๋ฒ„์— ์˜ฌ๋ฆฌ๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์˜ค๋ฅ˜๋ฅผ ์ ‘ํ•  ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ์„œ๋ฒ„์— ๋งž์ถฐ์ฃผ๊ณ  ๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”๊ฒŒ ํ›จ์”ฌ ์ค„์–ด๋“ค๊ฒ ์ง€? ์‹ถ์ง€๋งŒ ํ‰์†Œ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์€ Windows๋ฅผ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฑธ ๋ฐ€๊ณ  Ubuntu๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†๋‹ค (์ปดํ“จํ„ฐ๊ฐ€ ํ•˜๋‚˜ ๋”์žˆ์Œ ๋ชจ๋ฅผ๊นŒ ใ… ) 

๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ์—” Ubuntu์ง€๋งŒ ๋‹ค์Œ์— ๋‹ค๋ฅธ ํ™˜๊ฒฝ์ด๋ฉด? ๊ทธ๋•Œ ๋งˆ๋‹ค ๊ฐœ๋ฐœ ์ปดํ“จํ„ฐ OS๋ฅผ ๋ฐ€๊ณ  ์ƒˆ๋กœ ํ™˜๊ฒฝ์„ ๋งž์ถฐ์ค˜์•ผ ์ค˜์•ผ ํ•œ๋‹ค? ๋ง๋„ ์•ˆ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ ์ปดํ“จํ„ฐ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ๋งŒ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ์ง€ ์•Š๋‚˜.

๋˜ํ•œ ๊ณ ์„ฑ๋Šฅ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์—ด์–ด๋‘์—ˆ์„ ๋•Œ, ์„œ๋ฒ„ ํ™œ์šฉ์„ฑ์ด 100์ธ๋ฐ ํ•˜๋‚˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด 10์ด๋ฉด ๋‚˜๋จธ์ง€ 90์„ ์‚ฌ์šฉ ๋ชปํ•˜๋ฉด ์–ผ๋งˆ๋‚˜ ๋น„ํšจ์œจ ์ ์ผ๊นŒ! ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ธฐ์ˆ ์ด ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ด๋‹ค. 

 

 

 

๐Ÿ“Œ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์€ ๋˜ ๋ญ์ง€ ?

๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„์— ํ•˜๋‚˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์“ฐ๋Š” ๊ฒƒ์ด ๋‚ญ๋น„๊ฐ€ ๋˜์–ด ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋Š” ๋ฌผ์Œ์—์„œ ํƒ„์ƒํ•œ ๊ธฐ์ˆ ์ด๋‹ค. 

ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ ์ž์›(CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ €์žฅ์žฅ์น˜ ๋“ฑ)์„ ๊ฐ€์ƒ์ ์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ ์ž์›์„ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ์„ ์šด์˜ํ•˜๋Š”๋ฐ ์žˆ์–ด ์œ ์—ฐ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. 

 

์ตœ์ดˆ์˜ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์—์„œ๋Š” Hypervisor [๊ฐ์ฃผ:1] ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€์ƒ ๋จธ์‹ ๋งˆ๋‹ค Guest OS๋ฅผ ๋งŒ๋“ค์–ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ๋””๋ฐ”์ด์Šค์ง€๋งŒ ์—ฌ๋Ÿฌ ๋””๋ฐ”์ด์Šค์ฒ˜๋Ÿผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹ (VM / Virtual Machine)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด OS์œ„์— ๋˜๋‹ค๋ฅธ OSํ™˜๊ฒฝ์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด์ „ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  ์ค‘ ๋Œ€ํ‘œ์ ์œผ๋กœ VMware๊ฐ€ ์žˆ์—ˆ๋‹ค. (VMware๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ๊ธฐ์–ตํžˆ ์ƒˆ๋ก์ƒˆ๋ก.. )

Virtual Machine ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  ๋ฐฉ์‹

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

 

๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ด๊ณ  ์ด ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ค‘ ํ˜„์žฌ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ Docker๋‹ค.

Container ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  : Guest OS๊ฐ€ ๋ชจ๋‘ ๋น ์ง„ ๋ชจ์Šต

Docker๋Š” ์ด์ „ ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๋‹ฌ๋ฆฌ OS ์œ„์— OS๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ์‹์ด ์•„๋‹Œ library์™€ bin(์‹คํ–‰ํŒŒ์ผ)ํŒŒ์ผ๋“ค๋งŒ์„ ์˜ฌ๋ ค ๊ฐ€๋ณ๊ณ  ๊ธฐ์กด ํ˜ธ์ŠคํŠธOS๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ์„ค์น˜ ๋˜ํ•œ ํ•„์š”๊ฐ€ ์—†์–ด์„œ ํ™•์žฅ์„ฑ๊ณผ ์‹œ๊ฐ„ ์ ˆ์•ฝ์—๋„ ์ข‹๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ฌด๊ฑฐ์šด OS๊ฐ€ ๋‹จ ํ•˜๋‚˜์ด๋‹ˆ ์†๋ ฅ ๋˜ํ•œ ๋น ๋ฅด๋‹ค. 

 

 

 

๐Ÿ“Œ ์ปจํ…Œ์ด๋„ˆ(Container)๋Š” ๋ญ์ง€? 

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

 

 

 

๐Ÿ“Œ ๊ทธ๋ž˜์„œ Docker๋ž€? 

Docker ๋‹จ์–ด ์ž์ฒด์˜ ์˜๋ฏธ๋Š” ๋ถ€๋‘์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋…ธ๋™์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

Docker๋ž€ ์ด๋ฆ„์€ ์›๋ž˜ ์˜๋ฏธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ "์ปจํ…Œ์ด๋„ˆ"๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋Š” ์˜๋ฏธ์—์„œ ๋ถ™์ธ ์ด๋ฆ„์ธ ๋“ฏ ํ•˜๋‹ค. ์ด์ฒ˜๋Ÿผ Docker๋Š” ์„œ๋ฒ„ ํ˜น์˜ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•ด ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ •ํ™•ํ•œ ๊ฐœ๋…์€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ด๋‹ค.

 

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

 

* ๋„์ปค ์š”์•ฝ :

  • ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ๊ฐ€์ƒํ™” ๋„๊ตฌ
    • ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ธ LXC(Linux Containers) ๊ธฐ๋ฐ˜
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„๋กœ ๊ฒฉ๋ฆฌํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๊ธฐ์ˆ 
  • ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ๋นŒ๋“œ, ๋ฐฐํฌ, ๊ด€๋ฆฌ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต

โžก ์œ„ ๊ธฐ๋Šฅ ํ†ตํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ, ํšจ์œจ์ ์œผ๋กœ ๋ฐฐํฌ, ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

 

 

Docker: Accelerated, Containerized Application Development

Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

 

 

๐Ÿ“Œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ?

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์ง€?

๋„์ปค์—์„œ๋Š” ์ด๋ฏธ์ง€ ๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค. 

์ด๋ฏธ์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ •๊ฐ’์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

(ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์†Œ์Šค ๋“ฑ ํฌํ•จ์œผ๋กœ ์ฝ๊ธฐ ์ „์šฉ์ด๋‹ค)

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด ๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

๊ฐ™์€ ์ด๋ฏธ์ง€์—์„œ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•œ๋ฐ,  ๋ณ€ํ•˜๋Š” ๊ฐ’์€ ๋ชจ๋‘ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ฌ๋ผ์ ธ๋„, ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ฌ๋ผ์ ธ๋„, ์ด๋ฏธ์ง€๋Š” ์ฒ˜์Œ ๊ทธ ๊ฐ’ ๊ทธ๋Œ€๋กœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.

 

์ด๋ฏธ์ง€๋Š” ๋ˆ„๊ตฌ๋‚˜๊ฐ€ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋ฐฐํฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋‹ค.

ํ—ˆ๋ธŒ์— ๋ฐฐํฌ๋˜์–ด์žˆ๋Š” ์ด๋ฏธ์ง€ ์ค‘ ์‹ ๋ขฐ๋„๊ฐ€ ๋†’์€ ๊ฑธ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ฌธ์ œ ์—†๋Š” ํ™˜๊ฒฝ์ด๋ผ๋Š” ๋œป์ผ ๊ฑฐ๊ณ  ์ด๋ฅผ ๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด ๋ฐฐํฌํ•ด ๋ณธ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์–ด๋””์žˆ๋Š”์ง€๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌผ๋ก  ์ž์‹ ์˜ ๋ฐฐํฌํ™˜๊ฒฝ๊ณผ ๋™์ผํ•˜๊ฒŒ ๊ตฌ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ๋„์ปค์— ์‹คํ–‰์‹œํ‚จ ๋’ค ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ, ์ด๋ฏธ์ง€๊ฐ€ ์‹คํ–‰๋œ ์ƒํƒœ๊ฐ€ ๋ฐ”๋กœ ์ปจํ…Œ์ด๋„ˆ ๋ผ๊ณ  ํ•œ๋‹ค. 

 

 

 

๐Ÿ“Œ Docker ๊ตฌ์กฐ๋Š”?

์ถœ์ฒ˜ : https://docs.docker.com/get-started/overview/

1๏ธโƒฃ Docker Host

Docker๊ฐ€ ๊น”๋ ค์žˆ๋Š” ๋””๋ฐ”์ด์Šค (ํ˜„์žฌ ์šฐ๋ฆฌ ์ปดํ“จํ„ฐ)

 

2๏ธโƒฃ Docker daemon (=dockerd)

  • ๋„์ปค ์—”์ง„[๊ฐ์ฃผ:3]์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ
  • ๋„์ปค ํ˜ธ์ŠคํŠธ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์—ญํ•  (์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ, ์‹œ์ž‘, ์ค‘์ง€, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์ˆ˜ํ–‰)
  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ
  • ์™ธ๋ถ€์—์„œ ์ด๋ฏธ์ง€ ๋‹ค์šด ๋ฐ ๋นŒ๋“œํ•˜๋Š” ์ž‘์—… ์ˆ˜ํ–‰

3๏ธโƒฃ Docker Client

  • Docker์™€ ์ƒํ˜ธ ์ž‘์šฉ
  • Docker ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Docker daemon์œผ๋กœ ๋ณด๋‚ด ์‹คํ–‰

4๏ธโƒฃ Docker Object 

  • Docker Image
    • ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ฝ๊ธฐ ์ „์šฉ ํ…œํ”Œ๋ฆฟ
  • Docker Container
    • ํ•œ ๋„์ปค ์ด๋ฏธ์ง€์˜ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ธ์Šคํ„ด์Šค
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ํŒŒ์ผ๊ณผ ์„ค์ • ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ํŒจํ‚ค์ง€

5๏ธโƒฃ Docker Registries

  • ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๊ณณ
  • ๋””ํดํŠธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐœํ˜• ์ €์žฅ์†Œ์ธ Docker hub๊ฐ€ ์กด์žฌํ•œ๋‹ค. 
 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

 

๐Ÿ“Œ ๊ณต๋ถ€ ์˜์ƒ ๋ฐ ์ž๋ฃŒ :

 

์ปจํ…Œ์ด๋„ˆ ๋ฐ ๋„์ปค ๊ฐœ๋…์ •๋ฆฌ

์†Œํ”„ํŠธ์›จ์–ด๋Š” OS์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜์กด์„ฑ์„ ๋›ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ์„ฑ๊ฒฉ์ด ๋‹ค๋ฅธ(OS,๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์ด ๋‹ค๋ฅธ) ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ•œ๋ฒˆ์— ์‹คํ–‰ํ•  ๋•Œ ์–ด๋ ค์›€์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ๊ด€๋ จ๋œ ๊ตฌ์„ฑ์„ ๊ด€

velog.io

 

Docker ๊ฐœ๋…๊ณผ Architecture ์ •๋ฆฌ

1. Docker docker๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒํ™” ๋„๊ตฌ์ด๋‹ค. ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๊ฐ€์ƒ ๋จธ์‹ (VM)์€ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ญ์ƒ OS๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ–ˆ๊ณ , ์ด๋ฏธ์ง€ ์•ˆ์— OS๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฉ๋Ÿ‰์ด ๋งค์šฐ ํฌ๊ณ  ์†๋„๋„ ๋Š

www.leafcats.com

 

 

  1. Hypervisor (ํ•˜์ดํผ๋ฐ”์ด์ €)
    1๏ธโƒฃ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ตฌ๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด
    2๏ธโƒฃ OS์— ์ž์›์„ ํ• ๋‹น ๋ฐ ์กฐ์œจ
    3๏ธโƒฃ OS๋“ค์˜ ์š”์ฒญ์„ ๋ฒˆ์—ญํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด์— ์ „๋‹ฌ [๋ณธ๋ฌธ์œผ๋กœ]
  2. ๊ทธ๋ž˜์„œ Linux๋งŒ ๋˜๋‚˜?
    ๋ฆฌ๋ˆ…์Šค์— ๊ตญํ•œ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  Windows๋‚˜ Mac OS์—์„œ Hyper-V๋‚˜ xhyve๋ผ๋Š” ๊ธฐ์ˆ ๋กœ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ƒ์„ฑํ•ด Linuxํ™˜๊ฒฝ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. [๋ณธ๋ฌธ์œผ๋กœ]
  3. ๋„์ปค ์—”์ง„? ์ปจํ…Œ์ด๋„ˆ ์—”์ง„?
    ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์—”์ง„ ๊ธฐ๋Šฅ์„ ๋„์ปค์—์„œ ๊ตฌํ˜„ํ•œ ๊ฑธ ๋„์ปค ์—”์ง„์ด๋ผ๊ณ  ํ•œ๋‹ค [๋ณธ๋ฌธ์œผ๋กœ]
Code 048๊ฒฝํ—˜ ์ €์žฅ์†Œ

+ Recent posts