ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค์˜ ๊ฐœ๋…

2025. 6. 5. 15:45ยท๐Ÿ“‚ Additional Study/๐Ÿ“„ Docker

 

๐Ÿ“Œ ๊ณต๋ถ€๋ฅผ ๊ฒฐ์‹ฌํ•œ ๊ณ„๊ธฐ

 

ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค | ์žฅ์ฒ ์› - ๊ต๋ณด๋ฌธ๊ณ 

ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค | STEP BY STEP, ์›๋ฆฌ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฐ€์ด๋“œํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜์˜ ์ธํ”„๋ผ๊ฐ€ ๋ณดํŽธํ™”๋œ ํ˜„์žฌ์˜ IT ํ™˜๊ฒฝ์—์„œ ๋„์ปค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ

product.kyobobook.co.kr

2์ฐจ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ Docker์˜ ๋งค๋ ฅ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋А๊ผˆ๋‹ค. ํŠนํžˆ ๊ฐ™์€ ํŒ€์›๋ถ„์ด Docker๋ฅผ ์ž์œ ์ž์žฌ๋กœ ํ™œ์šฉํ•˜์‹œ๋Š” ๋ชจ์Šต์ด ์ •๋ง ๋ฉ‹์žˆ์—ˆ๊ณ , ๋‚˜๋„ ์ €๋ ‡๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๊นŠ์ด ์žˆ๊ณ  ์‹ค์šฉ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์ฒด๊ฐํ•˜๋ฉฐ, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ Docker์— ๋Œ€ํ•ด ๋” ๊นŠ์ด ์žˆ๊ฒŒ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์˜์š•์ด ์ƒ๊ฒผ๋‹ค. ์•ž์œผ๋กœ๋Š” '์žฅ์ฒ ์›' ์ €์ž์˜ ใ€Žํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šคใ€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋…์„ ์ •๋ฆฌํ•˜๊ณ , ์ด๋ฅผ ๋ธ”๋กœ๊ทธ์— ๊พธ์ค€ํžˆ ํฌ์ŠคํŒ…ํ•ด๋ณผ ๊ณ„ํš์ด๋‹ค.

๋‚ด๊ฐ€ Docker์˜ ๋งค๋ ฅ์„ ์ง์ ‘ ์ฒด๊ฐํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค. 1์ฐจ ํŒ€ ํ”„๋กœ์ ํŠธ๋Š” ์ด๋ฏธ ๋ฐฐํฌ๋œ ์›น ์„œ๋น„์Šค๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ํ˜•ํƒœ์˜€๊ธฐ ๋•Œ๋ฌธ์—, ๋ณ„๋„์˜ ํ™˜๊ฒฝ ์„ค์ •์ด ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ 2์ฐจ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ฌ๋ž๋‹ค. Backend ์ฝ”๋“œ, Frontend ์ฝ”๋“œ, ๊ทธ๋ฆฌ๊ณ  PostgreSQL DB๊นŒ์ง€ ์ง์ ‘ ์„ธํŒ…ํ•ด์•ผ๋งŒ ๋น„๋กœ์†Œ ์„œ๋น„์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ตฌ์กฐ์˜€๋‹ค.

 

์—˜๋ฆฌ์Šค์—์„œ ์ œ๊ณตํ•ด์ค€ VM ํ™˜๊ฒฝ์—๋„ ์ด ๊ตฌ์„ฑ์„ ๊ทธ๋Œ€๋กœ ๊ตฌ์ถ•ํ•ด์•ผ ํ–ˆ๋Š”๋ฐ, ์ด๋•Œ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ ๋ฐฉ์‹์€ ๋‘ ๊ฐ€์ง€์˜€๋‹ค.

  1. ๋กœ์ปฌ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ ๋ฐ ์‹คํ–‰
  2. Docker๋ฅผ ํ™œ์šฉํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์ž๋™ ๊ตฌ์„ฑ

 

์šฐ๋ฆฌ ํŒ€์€ ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ธ "Docker๋ฅผ ํ™œ์šฉํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์ž๋™ ๊ตฌ์„ฑ"์„ ์„ ํƒํ–ˆ๋‹ค. ๋‹น์‹œ ๋‚˜๋Š” Docker ํ™˜๊ฒฝ ๊ตฌ์„ฑ์ด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์•„ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ฏธ๋ฃจ๊ณ , Postman๊ณผ JMeter๋กœ ๋จผ์ € ์‹ค์Šต์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งˆ์นจ ๊ฐ™์€ ํŒ€์›๋ถ„๊ป˜์„œ ์ตœ๊ทผ์— Docker ๊ฐ•์˜๋ฅผ ๋“ค์€ ์ƒํƒœ์˜€๊ณ , ์ง์ ‘ ๋„์ „ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉฐ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์— ์ž์›ํ•ด์ฃผ์…จ๋‹ค. ๋ฌด๋ ค 3์ผ ๋™์•ˆ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ์‹œ๋„ํ•ด์ฃผ์‹  ๋•๋ถ„์—, ๊ฒฐ๊ตญ Docker๋ฅผ ์ด์šฉํ•œ ์—ฐ๋™์— ์„ฑ๊ณตํ•˜์…จ๋‹ค.

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

 

โฌ‡๏ธ ์ €ํฌ ํŒ€์˜ Docker ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ ๊ตฌ์ถ•์— ์„ฑ๊ณตํ•˜์‹  ๋ฉ‹์Ÿ์ด ํŒ€์›๋ถ„์˜ ๊ณผ์ •์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ 

 

[Docker] ๐Ÿ‹๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๋ผ๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

0. ๊ฐœ์š”ํ”„๋กœ์ ํŠธ์—์„œ, Jenkins์™€ Frontend, Backend, DB๋ฅผ ๋„์ปค๋กœ ์‹คํ–‰์‹œ์ผฐ์—ˆ๋‹ค.ํ•˜์ง€๋งŒ, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.๋ฐ”๋กœ, ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๋ผ๋ฆฌ๋Š” ์†Œํ†ต์„ ๊ธฐ๋ณธ์ ์œผ๋ก  ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ.1. ๊ธฐ๋ณธ ํ™˜๊ฒฝ"๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๋ผ๋ฆฌ์˜

janguri.tistory.com

 

๐Ÿ“Œ CHAPTER 1. ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

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

 

- ์šฐ๋ถ„ํˆฌ(Ubuntu): ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜์˜ ์šด์˜์ฒด์ œ

- VirtualBox: ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด

- ๊ฐ€์ƒ๋จธ์‹ : ๋ฌผ๋ฆฌ์  ์ปดํ“จํ„ฐ ์œ„์— ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ๊ฐ€์งœ ์ปดํ“จํ„ฐ

- PuTTY: ์œˆ๋„์šฐ์—์„œ SSH ์ ‘์†์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ

 

๐Ÿ“Œ CHAPTER 2. ๋„์ปค์˜ ๊ฐœ๋…

์ด ์ฑ•ํ„ฐ์—์„œ๋Š” Docker ๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ง€์‹์œผ๋กœ ์šด์˜์ฒด์ œ, ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋“ฑ์˜ ๊ฐœ๋…์„ ์‚ดํŽด๋ณธ๋‹ค. ํ•ด๋‹น ๊ฐœ๋…๋“ค์€ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ž์„ธํžˆ ๋‹ค๋ค˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๊ธ€์—์„œ๋Š” ์ƒ๋žตํ•œ๋‹ค. ๋˜ํ•œ, Docker์˜ ์ •์˜์™€ ํ•จ๊ป˜ ํ•ต์‹ฌ ๊ฐœ๋…์ธ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ Docker๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ฃผ์š” ์š”์†Œ๋“ค์„ ์•Œ์•„๋ณธ๋‹ค.

 

โฌ‡๏ธ ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ 

 

Process์™€ Thread์— ๋Œ€ํ•˜์—ฌ

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

isliife2.tistory.com

 

โฌ‡๏ธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ 

 

Namespace์— ๋Œ€ํ•˜์—ฌ

๐Ÿ“Œ Namespace๋ž€?๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์ด๋‹ค. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ  ์ถฉ๋Œ ์—†์ด ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด,

isliife2.tistory.com

 

๐Ÿ’ก Docker์˜ ์ •์˜

Docker๋Š” '์ปจํ…Œ์ด๋„ˆ(Container)'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์šด์˜์ฒด์ œ ์ˆ˜์ค€์˜ ๊ฐ€์ƒํ™” ๋ฐฉ์‹์„ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•˜๋Š” PaaS(Platform as a Service) ์ œํ’ˆ์ด๋‹ค. ์—ฌ๊ธฐ์„œ PaaS๋ž€ 'Platform as a Service'์˜ ์ค„์ž„๋ง๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์ธํ”„๋ผ๋Š” ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ์˜ ์„œ๋น„์Šค๋ฅผ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์‹ ๊ฒฝ ์“ฐ๋ฉด ๋˜๊ณ , ์„œ๋ฒ„ ํ™˜๊ฒฝ์ด๋‚˜ OS ๋“ฑ์€ ๋„์ปค๊ฐ€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿ’ก Container์˜ ๊ฐœ๋…

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

 

โฌ‡๏ธ VM vs Container์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ 

 

VM, Container, Hypervisor, Docker, Kubernetes์— ๋Œ€ํ•˜์—ฌ

๐Ÿ“Œ ๊ฐ€์ƒํ™”(Virtualization) ๊ธฐ์ˆ ?๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์€ ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋ฐ ๊ธฐํƒ€ ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์ 

isliife2.tistory.com

 

๐Ÿ’ก ๊ฐ€์ƒํ™”์˜ ๊ฐœ๋…

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

 

๐Ÿ’ก Docker ๊ตฌ์„ฑ ์š”์†Œ

https://www.hanbit.co.kr/channel/view.html?cmscode=CMS8893081462

  • docker-cli: ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค ๋„๊ตฌ (์˜ˆ: docker run, docker ps ๋“ฑ)
  • dockerd: Docker ๋ฐ๋ชฌ์œผ๋กœ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ๋„์ปค API ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜๊ณ  ๋„์ปค ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ ๋“ฑ๊ณผ ๊ฐ™์€ ๋„์ปค ๊ด€๋ จ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌ
  • containerd: ๋„์ปค ์ด๋ฏธ์ง€ ์ „์†ก, ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋“ฑ ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๋ชจ๋‘ ๊ด€๋ฆฌ
  • containerd-shim: containerd์™€ runc ์‚ฌ์ด์—์„œ ์ž‘๋™ํ•˜๋Š” ์ค‘๊ฐ„ ํ”„๋กœ์„ธ์Šค๋กœ, ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์„ ์กฐ์ •
  • runc: ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰๊ณผ ๊ด€๋ จ๋œ ์ž‘์—…๋งŒ์„ ์ˆ˜ํ–‰

 

๐Ÿ“Œ CHAPTER 3. ๋„์ปค ์„ค์น˜

๋„์ปค๋Š” ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

๋‹ค๋งŒ, ์„ค์น˜์— ์•ž์„œ ๋„์ปค ๊ณต์‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ์„ ๋จผ์ € ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์„ค์ • ๊ณผ์ •์€ ๊ทธ๋ฆผ๊ณผ ํ•จ๊ป˜ ์นœ์ ˆํžˆ ์„ค๋ช…๋œ ์ฑ…์„ ์ฐธ๊ณ ํ•˜๋ฉด ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๋”ฐ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

+ ์ถ”๊ฐ€ ์ง€์‹

โ“ apt

- apt๋Š” Ubuntu ๋“ฑ Debian ๊ณ„์—ด ๋ฆฌ๋ˆ…์Šค์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ

- ํŒจํ‚ค์ง€์˜ ์„ค์น˜, ์—…๋ฐ์ดํŠธ, ์ œ๊ฑฐ, ๊ฒ€์ƒ‰ ๋“ฑ์„ ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

- ์‚ฌ์šฉ์ž๊ฐ€ apt ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, /etc/apt/sources.list ๋˜๋Š” /etc/apt/sources.list.d/์— ์ •์˜๋œ ์ €์žฅ์†Œ(Repository)์—์„œ ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์ฐพ์•„ ๋‚ด๋ ค๋ฐ›์Œ

- ๋”ฐ๋ผ์„œ apt๊ฐ€ ์–ด๋””์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๋ฐ›์•„์˜ฌ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ €์žฅ์†Œ ์„ค์ • ํ•„์š” (์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ Docker ๊ณต์‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ์ด์œ )

โ“ ์™œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์„ค์ •์„ ๋จผ์ € ํ•ด์ค˜์•ผ ํ• ๊นŒ?

- Ubuntu์˜ apt ๋ช…๋ น์–ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Ubuntu ๊ณต์‹ ์†Œํ”„ํŠธ์›จ์–ด ์ €์žฅ์†Œ๋งŒ ์ฐธ์กฐ

- ํ•˜์ง€๋งŒ Docker๋Š” Ubuntu ๊ธฐ๋ณธ ์ €์žฅ์†Œ์— ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „์ด ํฌํ•จ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์•„์˜ˆ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์กด์žฌ

- ๋”ฐ๋ผ์„œ Docker ํŒจํ‚ค์ง€๋ฅผ Docker ๊ณต์‹ ์ €์žฅ์†Œ(Docker Repository) ์—์„œ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด
 ~> apt๊ฐ€ Docker์˜ ํŒจํ‚ค์ง€๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก GPG ํ‚ค๋ฅผ ๋“ฑ๋กํ•˜๊ณ ,
 ~> apt๊ฐ€ Docker ๊ณต์‹ ์ €์žฅ์†Œ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์Šค ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”

 

๐Ÿ“Œ Next

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

 

โฌ‡๏ธ ๋‹ค์Œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ 

 

ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค ๊ธฐ์ดˆ

๐Ÿ“Œ CHAPTER 4. ๋„์ปค ๊ธฐ์ดˆ๋„์ปค์˜ ์ „์ฒด ๊ตฌ์กฐ๋Š” Docker Client, Docker Host, Docker Registry๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.Docker Client: ๋„์ปค์— ๋ช…๋ น์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” CLI ๋„๊ตฌDocker Host: ๋„์ปค๋ฅผ ์„ค์น˜ํ•œ ์„œ๋ฒ„ ํ˜น์€ ๊ฐ€์ƒ๋จธ์‹ Docker Registry:

isliife2.tistory.com

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ“‚ Additional Study > ๐Ÿ“„ Docker' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค๋ฅผ ํ™œ์šฉํ•œ django & Flask ์‹คํ–‰  (0) 2025.06.07
ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค ๊ธฐ์ดˆ  (0) 2025.06.06
'๐Ÿ“‚ Additional Study/๐Ÿ“„ Docker' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค๋ฅผ ํ™œ์šฉํ•œ django & Flask ์‹คํ–‰
  • ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค ๊ธฐ์ดˆ
YeonSu02
YeonSu02
Email : rkddustn2519@naver.com
  • YeonSu02
    IsLiife2
    YeonSu02
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • ๐Ÿ“‚ Computer Science
      • ๐Ÿ“‚ Unity Engine Study
        • ๐Ÿ“„ Unity ์ธํ”„๋Ÿฐ ๊ฐ•์˜
        • ๐Ÿ“„ Unity ์œ ํŠœ๋ธŒ ๊ฐ•์˜
        • ๐Ÿ“„ Unity ์ฐธ๊ณ 
        • ๐Ÿ’ป Game Development
      • ๐Ÿ“‚ Quality Assurance Study
        • ๐Ÿ”ฅ ์—˜๋ฆฌ์Šค SW QAํŠธ๋ž™
        • ๐Ÿ“„ QA ๊ณต๋ถ€
        • ๐Ÿ“š QA ์ฑ… ๋ฆฌ๋ทฐ
      • ๐Ÿ“‚ Program Language Study
        • ๐Ÿ“„ C# ๊ณต๋ถ€
        • ๐Ÿ“„ ํŒŒ์ด์ฌ ๊ณต๋ถ€
        • ๐Ÿ“„ JavaScript ๊ณต๋ถ€
        • ๐Ÿ“„ TypeScript ๊ณต๋ถ€
      • ๐Ÿ“‚ Additional Study
        • ๐Ÿ“„ Git
        • ๐Ÿ“„ Docker
        • ๐Ÿ“„ Jenkins
        • ๐Ÿ“„ Firebase
        • ๐Ÿ“„ License
      • ๐Ÿ“‚ Experience
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    qa ๋ถ€ํŠธ์บ ํ”„
    qa ๊ฐ•์˜
    qa ์ง๋ฌด ๊ต์œก
    ์ž๊ฒฉ์ฆ
    QA
    ์—˜๋ฆฌ์ŠคํŠธ๋ž™
    qa ์ฑ…
    ์ •์ฒ˜๊ธฐ ํ•„๊ธฐ
    qa ์ฑ… ๋ฆฌ๋ทฐ
    istqb-ctfl
    ํ…Œ์ŠคํŒ…์ž๊ฒฉ์ฆ
    ์—‘์…€
    ๋ถ€ํŠธ์บ ํ”„ ์ถ”์ฒœ
    qa์ž๊ฒฉ์ฆ
    ์ปดํ™œ
    ์—˜๋ฆฌ์ŠคํŠธ๋ž™ ํ›„๊ธฐ
    ์ •์ฒ˜๊ธฐ ๋…ํ•™
    ์ •์ฒ˜๊ธฐ ์‹ค๊ธฐ
    ๊ตญ๋น„๋ถ€ํŠธ์บ ํ”„ ์ถ”์ฒœ
    ์ปดํ“จํ„ฐํ™œ์šฉ๋Šฅ๋ ฅ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
YeonSu02
ํ•œ ๊ถŒ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค - ๋„์ปค์˜ ๊ฐœ๋…
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”