๐Ÿณ 1. Docker๋ž€?

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

๐Ÿ‘‰ ํ•œ ์ค„ ์ •์˜:

Docker๋Š” ์•ฑ๊ณผ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ·์„ค์ •·์˜์กด์„ฑ์„ ํ•จ๊ป˜ ๋ฌถ์–ด ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ .


๐Ÿ†š 2. ๊ฐ€์ƒ๋จธ์‹ (VM)๊ณผ์˜ ์ฐจ์ด์ 

ํ•ญ๋ชฉ๊ฐ€์ƒ๋จธ์‹ (VM)Docker(์ปจํ…Œ์ด๋„ˆ)
OS ๊ตฌ์กฐ ํ•˜์ดํผ๋ฐ”์ด์ € ์œ„์— ๊ฒŒ์ŠคํŠธ OS ํ•„์š” ํ˜ธ์ŠคํŠธ OS์˜ ์ปค๋„์„ ๊ณต์œ 
์‹คํ–‰ ์†๋„ ๋ฌด๊ฒ๊ณ  ๋ถ€ํŒ… ์‹œ๊ฐ„์ด ๊น€ ๊ฐ€๋ณ๊ณ  ์‹คํ–‰์ด ๋น ๋ฆ„ (์ดˆ ๋‹จ์œ„)
์ž์› ์‚ฌ์šฉ OS๋งˆ๋‹ค RAM/CPU ์ ์œ  ๋งŽ์Œ ์ปจํ…Œ์ด๋„ˆ๋ผ๋ฆฌ ์ž์› ๊ณต์œ , ํšจ์œจ์ 
์ด์‹์„ฑ ๋น„๊ต์  ๋‚ฎ์Œ ์–ด๋””์„œ๋‚˜ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅ

โœ… Docker๋Š” OS ๊ฐ€์ƒํ™”๊ฐ€ ์•„๋‹Œ ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ ๋ฐฉ์‹์ด๋ผ VM๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ…๋‹ˆ๋‹ค.


๐Ÿ—‚ 3. Docker์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ

์š”์†Œ์„ค๋ช…
์ด๋ฏธ์ง€(Image) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ฝ๊ธฐ ์ „์šฉ ํŒจํ‚ค์ง€๋กœ ์ €์žฅํ•œ ํ…œํ”Œ๋ฆฟ
์˜ˆ: Ubuntu + Nginx + ์„ค์ •ํŒŒ์ผ
์ปจํ…Œ์ด๋„ˆ(Container) ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•œ ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค
์ปจํ…Œ์ด๋„ˆ๋Š” ์‚ญ์ œํ•ด๋„ ์ด๋ฏธ์ง€์—๋Š” ์˜ํ–ฅ ์—†์Œ
Dockerfile ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ํ™˜๊ฒฝ ์„ค์ • ์ •์˜
๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(Registry) ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅ·๊ณต์œ ํ•˜๋Š” ์ €์žฅ์†Œ
๊ณต์‹: Docker Hub, ๊ธฐ์—… ๋‚ด๋ถ€: Private Registry
๋ณผ๋ฅจ(Volume) ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์›Œ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„
๋„คํŠธ์›Œํฌ(Network) ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑ

โš™๏ธ 4. Docker์˜ ๋™์ž‘ ๋ฐฉ์‹

  1. Dockerfile์„ ์ž‘์„ฑ → docker build ๋ช…๋ น์œผ๋กœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ
  2. docker run ๋ช…๋ น์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰
  3. ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ (์„œ๋ฒ„, DB ๋“ฑ)
  4. ํ•„์š” ์‹œ ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€·์‚ญ์ œ ๊ฐ€๋Šฅ (docker stop, docker rm)

๐Ÿš€ 5. Docker ์‚ฌ์šฉ์˜ ์žฅ์ 

  • ์ด์‹์„ฑ(Portability): ํ™˜๊ฒฝ์ด ๋‹ฌ๋ผ๋„ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰
  • ๊ฒฝ๋Ÿ‰์„ฑ(Lightweight): VM๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์ž์› ์ ˆ์•ฝ
  • ํ™•์žฅ์„ฑ(Scalability): ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‰ฝ๊ฒŒ ๋ณต์ œ·๋ฐฐํฌ
  • ๊ฒฉ๋ฆฌ์„ฑ(Isolation): ์•ฑ๋งˆ๋‹ค ๋…๋ฆฝ๋œ ์‹คํ–‰ ํ™˜๊ฒฝ ์ œ๊ณต
  • ์ž๋™ํ™” ๋ฐ CI/CD ์นœํ™”์ : ๋ฐฐํฌ, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ• ์šฉ์ด

๐Ÿ“Œ ์ •๋ฆฌ

  • Docker = ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์˜ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ 
  • ์•ฑ๊ณผ ํ™˜๊ฒฝ์„ ํ•œ ๋ฒˆ์— ๋ฌถ์–ด ์–ด๋””์„œ๋‚˜ ๋˜‘๊ฐ™์ด ๋™์ž‘
  • VM๋ณด๋‹ค ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ณ  ํ™•์žฅ์„ฑ ๋›ฐ์–ด๋‚จ
  • DevOps, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ํด๋ผ์šฐ๋“œ ์šด์˜์˜ ํ‘œ์ค€ ๋„๊ตฌ

Docker๋ฅผ ์ดํ•ดํ•˜๋ฉด Kubernetes(EKS ๋“ฑ) ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด์„œ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'DOCKER' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DOCKER] Image ๊ด€๋ จ ๋ช…๋ น์–ด  (0) 2025.09.30
[DOCKER] Container ๊ด€๋ จ ๋ช…๋ น์–ด  (0) 2025.09.30

+ Recent posts