๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[DevOps]/Docker

Docker๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

by ํŒกํŽ‘ํ 2023. 5. 20.
728x90
๐Ÿ’ก ํ•ญ๋งŒ์— ๋ฌด์—ญ์„ ์ด ์ฆ๋น„ํ•ด์žˆ๊ณ  ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ๊ฐ€๋“ ์ฐจ์žˆ๋Š” ๋ชจ์Šต์„ ์ƒ๊ฐํ•ด ๋ณด์ž. ๊ทธ๋ฌผ๋ง์œผ๋กœ ์–ด์ง€๋Ÿฝ๊ฒŒ ๋„๋ธŒ๋Ÿฌ์ ธ ์žˆ๋Š” ๋ฌผ์ž๋ฅผ ๋Œ€์ถฉ ํœ˜์–ด์žก์•„ ์„ ๋ฐ•์— ์˜ฎ๊ธฐ๋˜ ์˜› ์‹œ๋Œ€์˜ ๋ชจ์Šต๊ณผ ๋น„๊ตํ•ด ๋ณด๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ฐ€์ ธ์˜จ ํ˜์‹ ์ ์ธ ์žฅ์ ์„ ๊ตณ์ด ๋งํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. 

 

ํ˜„์‹ค ์† ์ปจํ…Œ์ด๋„ˆ์˜ ํšจ๊ณผ

  • ๋ฌผ์ž ์šด์†ก์˜ ์‹œ๊ฐ„ ๋‹จ์ถ•๊ณผ ์ธ๋ ฅ ๊ฐ์†Œ
  • ์ฆ‰, ๋ฌผ์ž ์šด์†ก์„ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ๋ฌผ์ž๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋ณด๊ด€ํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜์†กํ•˜๋Š” ๋ฐ ๋“ค์–ด๊ฐ€๋Š” ์‹œ๊ฐ„๊ณผ ์ธ๋ ฅ์„ ๋Œ€ํญ์ ์œผ๋กœ ์ค„์—ฌ์ฃผ์—ˆ๋‹ค.

 

 ๊ฐœ๋ฐœ ์„ธ๊ณ„์—์„œ๋„ ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐ์— ํ˜์‹ ์„ ๊ฐ€์ ธ์˜จ ์•„์ด๋””์–ด๊ฐ€ ๋ฐ”๋กœ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐ”๋กœ ๋„์ปค(Docker)์ด๋‹ค.

 

 

๋„์ปค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ฐ€์ ธ์˜จ ํ˜์‹ 

 ์ปจํ…Œ์ด๋„ˆ์˜ ์žฅ์ ์„ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์—ฌ๊ธฐ ๊น€๋„๊ฑฐ๋ผ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ๋‹ค. ๊น€๋„๊ฑฐ์”จ๋Š” ์œˆ๋„์šฐ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊น€๋„๊ฑฐ์”จ์˜ ์ปดํ“จํ„ฐ ์•ˆ์—๋Š” A๋ผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์žˆ๋‹ค. A๋ผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ„์ „์€ 2.X์ด๋‹ค. B๋ผ๊ณ  ํ•˜๋Š” A์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋„ ์žˆ๋‹ค. B์˜ ๋ฒ„์ „์€ 1.X์ด๋‹ค.

 

 ๊น€๋„๊ฑฐ์”จ๋Š” ํšŒ์‚ฌ์˜ ๊ณผ๊ฑฐ ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—…์„ ๋งก์•„ ์ง„ํ–‰ ์ค‘์— ๊ณผ๋กœ๋กœ ์“ฐ๋Ÿฌ์ ธ ๋‹น๋ถ„๊ฐ„ ํšŒ์‚ฌ๋ฅผ ์‰ฌ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊น€๋„๊ฑฐ์”จ๊ฐ€ ๋‹ค๋‹ˆ๋Š” ํšŒ์‚ฌ๋Š” ๊ทœ๋ชจ๊ฐ€ ์ž‘์•„ ๊น€๋„๊ฑฐ์”จ๋Š” ๋ฆฌํŒฉํ† ๋ง์„ ํ˜ผ์ž์„œ ์ง„ํ–‰ ์ค‘์ด์—ˆ๋‹ค. ํšŒ์‚ฌ์—์„œ๋Š” ๋งˆ์นจ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜ ์—ฌ์œ ๋กœ์› ๋˜ ๋ฐ•๊ฑดํƒœ ์”จ์—๊ฒŒ ๊น€๋„๊ฑฐ์”จ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋Œ€์‹  ๋งก์•„ ์ง„ํ–‰ํ•˜๊ธฐ๋ฅผ ํฌ๋งํ–ˆ๋‹ค. ๋ฐ•๊ฑดํƒœ ์”จ๋Š” MacOS๋ฅผ ์‚ฌ์šฉ ์ค‘์ด์—ˆ์œผ๋ฉฐ A ์†Œํ”„ํŠธ ์›จ์–ด์˜ ๋ฒ„์ „์€ 3.X, B ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ„์ „์€ 2.X๋ฅผ ์‚ฌ์šฉ ์ค‘์ด์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” A ์†Œํ”„ํŠธ์›จ์–ด๋Š” 3.0๋ถ€ํ„ฐ B ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ 2.0 ์ด์ƒ์˜ ๋ฒ„์ „์ผ ๋•Œ๋งŒ ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋ฐ•๊ฑดํƒœ ์”จ๋Š” ์ข…์†์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด A, B ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐ•์ œ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ์‹œํ‚ฌ ์ˆ˜๋ฐ–์— ์—†์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํšŒ์‚ฌ์—์„œ ๊ธ‰ํ•˜๊ฒŒ ๋ฐ•๊ฑดํƒœ ์”จ์˜ ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ด ์™”๋‹ค. ๋ฐ•๊ฑดํƒœ ์”จ๋Š” ๋‘ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด A, B ์†Œํ”„ํŠธ์›จ์–ด์˜ ์—…๊ทธ๋ ˆ์ด๋“œ์™€ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ท€์ฐฎ๊ณ  ๋น„ํšจ์œจ์ ์ธ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

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

 

 

๊ฐ€์ƒ๋จธ์‹ ๊ณผ ๋„์ปค

๊ฐ€์ƒ๋จธ์‹ (Virtual machine)

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

 

 

๋„์ปค(Docker)

์ปจํ…Œ์ด๋„ˆ ์ปจํ…Œ์ด๋„ˆ ์ปจํ…Œ์ด๋„ˆ ์ปจํ…Œ์ด๋„ˆ
๋„์ปค์—”์ง„
์šด์˜์ฒด์ œ
์ปดํ“จํ„ฐ
  • ์ปจํ…Œ์ด๋„ˆ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ์ธ Windows, macOS, Linux ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋‚˜, ํ•˜๋‚˜์˜ ๋จธ์‹ ์— ๋˜๋‹ค๋ฅธ ๊ฐ€์ƒ๋จธ์‹ ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. 
    • ๋Œ€์‹ ์— ์šด์˜์ฒด์ œ ์œ„์— ๋„์ปค์—”์ง„์ด ์žˆ์–ด ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ€๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ€์ƒ๋จธ์‹ ์ฒ˜๋Ÿผ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ถ€ํ’€์–ด์ง„ ์šด์˜์ฒด์ œ๋‚˜, ์ถ”๊ฐ€ ๋„๊ตฌ ๋“ฑ์„ ์‹œ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ์ด๊ฒƒ์ด ๋„์ปค๊ฐ€ ๊ฐ€์ƒ๋จธ์‹ ๋ณด๋‹ค ํ›จ์”ฌ ์ž‘๊ณ  ๊ฐ€๋ฒผ์šด ์ด์œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
    • ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ž‘์€ ์šด์˜ ์ฒด์ œ ๋ ˆ์ด์–ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ€์ƒ๋จธ์‹ ๋ณด๋‹ค๋Š” ๋น„๊ตํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๊ฐ€๋ณ๋‹ค.  
  • ์ปจํ…Œ์ด๋„ˆ๋Š” config ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ 2์ฐจ ๊ฐ€๊ณต์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ฏธ์ง€๋ผ๋Š” ์‹œ์Šคํ…œ์ด ์žˆ๋Š”๋ฐ ๋„์ปค ์ด๋ฏธ์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์†Œ์Šค์ฝ”๋“œ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์‹คํ–‰ํŒŒ์ผ ๋“ฑ ์„œ๋น„์Šค ์šด์˜์— ํ•„์š”ํ•œ ๋ชจ๋“  ํŒŒ์ผ๊ณผ ์„ค์ •๊ฐ’, ๋ฒ„์ „์„ ์ €์žฅํ•ด๋†“์€ ์ผ์ข…์˜ ์Šค๋ƒ…์ƒท๊ณผ ๊ฐ™์€ ๊ฐœ๋…์ด๋‹ค.
    • ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต์œ ํ•˜์—ฌ ๋ชจ๋‘ ํŠน์ • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋™์ผํ•œ ๊ตฌ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

 

 

 

์ฐธ๊ณ 

Udemy - Docker & Kubernetes : ์‹ค์ „๊ฐ€์ด๋“œ

https://velog.io/@ragnarok_code/๋„์ปค-์ปจํ…Œ์ด๋„ˆContainer์™€-์ด๋ฏธ์ง€Image๋ž€

728x90