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

[Docker] ๋„์ปค ์ž…๋ฌธํ•˜๊ธฐ (๊ฐœ๋…, ๋“ฑ์žฅ๋ฐฐ๊ฒฝ, ๊ธฐ๋Šฅ)

by ํƒœ์˜น 2021. 9. 15.

๐Ÿ‘‡ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ์•„๋ž˜์˜ ๊ฐ•์˜๋ฅผ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜์˜€์Šต๋‹ˆ๋‹ค.

https://www.inflearn.com/course/%EB%8F%84%EC%BB%A4-%EC%9E%85%EB%AC%B8/dashboard

 

์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ๋„์ปค ์•ˆ๋‚ด์„œ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

๋„์ปค๋ฅผ 1๋„ ๋ชจ๋ฅด๋Š” ์ž…๋ฌธ์ž, ์ดˆ๋ณด์ž๋ถ„๋“ค์„ ์œ„ํ•œ ๋„์ปค ์•ˆ๋‚ด์„œ ์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋‚ด์šฉ์„ ์ œ์™ธํ•˜๊ณ  ๋„์ปค๊ฐ€ ์™œ ์ธ๊ธฐ๊ฐ€ ๋งŽ๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ์ตํž ์ˆ˜ ์žˆ๋„๋ก ์ง‘์ค‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค., ๋ฐ๋ธŒ์˜ต์Šค ์ž…๋ฌธ

www.inflearn.com


๋ชฉ์ฐจ

1. ๋„์ปค๋ž€?

2. ์ตœ๊ทผ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋„์ปค์— ์—ด๊ด‘ํ•˜๋Š” ์ด์œ 

3. ๋„์ปค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜ˆ์‹œ ์ƒํ™ฉ

4. ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)๊ณผ์˜ ์ฐจ์ด

 

 

1. ๋„์ปค๋ž€?

๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์ฃผ์˜๊นŠ๊ฒŒ ๋ณผ ๋‹จ์–ด๋Š” '์ปจํ…Œ์ด๋„ˆ'์ด๋‹ค.

์ž์„ธํ•œ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜์˜ ๋ฌธ์„œ์—์„œ ์ฐธ๊ณ ํ•˜์ž.

https://www.redhat.com/ko/topics/containers/what-is-docker

 

Docker(๋„์ปค)๋ž€? ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰, ์‚ฌ์šฉ๋ฒ•, ๋‹ค์šด๋กœ๋“œ, ๋ฐฐํฌ

Docker(๋„์ปค)๋ž€ Linux(๋ฆฌ๋ˆ…์Šค) ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ์„ ๋•๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. Docker ์‚ฌ์šฉ๋ฒ•, Docker container(๋„์ปค ์ปจํ…Œ์ด๋„ˆ), ๋‹ค์šด๋กœ๋“œ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

www.redhat.com

 

๋„์ปค๋Š” ๊ธฐ์กด์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋Ÿผ ์–ด๋–ค ๋ฌธ์ œ์ผ๊นŒ?

 

2. ์ตœ๊ทผ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋„์ปค์— ์—ด๊ด‘ํ•˜๋Š” ์ด์œ  - ๊ธฐ์กด ์„œ๋ฒ„ ๊ด€๋ฆฌ์˜ ๋ฌธ์ œ์ 

 

์ธํ”„๋Ÿฐ ๊ฐ•์˜์ž๋ฃŒ ์ด๋ฏธ์ง€

์œ„์˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์˜์‚ฌ๊ธฐ๋ฅผ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœํžˆ ์ฝ˜์„ผํŠธ์— ์ฝ”๋“œ๋ฅผ ๊ฝ‚๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ € ์ˆ˜๋งŽ์€ ๊ณผ์ •์„ ํ†ตํ•ด ๋™์ž‘์‹œ์ผœ์•ผ ํ•œ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ์œ„ํ—˜์„ฑ๋„ ๋†’๊ณ  ๋ถˆํŽธํ•˜๊ฒ ๋Š”๊ฐ€?

 

์ด์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ๊ณผ์ • ์ค‘์—์„œ ํ•˜๋‚˜๋ผ๋„ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ๋ฐ–์— ์—†๊ณ ,

๊ธฐ์กด์˜ ์„œ๋ฒ„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์†๋‚ด๋Š” ๊ต‰์žฅํžˆ ๋ณต์žกํ•˜๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.

 

 

์ „ํ†ต์ ์ธ ์„œ๋ฒ„๊ด€๋ฆฌ ๋ฐฉ์‹

  1. ์œ ์ €์ถ”๊ฐ€
  2. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€
  3. ๋ฐฉํ™”๋ฒฝ ์ถ”๊ฐ€
  4. ๋„คํŠธ์›Œํฌ ์„ค์ •
  5. dependencies ์ถ”๊ฐ€
  6. python(์–ธ์–ด)ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ 
  7. git clone
  8. ํŒจํ‚ค์ง€ ์„ค์น˜
  9. ์„ค์ •
  10. DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  11. ํ”„๋ก์‹œ ์„œ๋ฒ„ ์„ค์น˜
  12. ํ”„๋กœ๊ทธ๋žจ run

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์— ๊ฑธ์นœ ๋ณต์žกํ•œ ์ž‘์—…์„ ๋‹ค ๊ฑฐ์ณ์•ผ๋งŒ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜์—ˆ๋‹ค.๐Ÿคฏ

 

 

์˜ค๋ผํด์„ ์„ค์น˜ํ•˜๊ณ , ๊นƒ๋žฉ์„ ์„ค์น˜ํ•˜๊ณ , ์–ด์ฉŒ๊ตฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ ...

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

 

ํŠนํžˆ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ

์›๋ž˜๋Š” AWS๋ฅผ ์“ฐ๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ์• ์ €๋กœ, ๋˜ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ๋กœ ์„œ๋ฒ„ํ™˜๊ฒฝ์ด ๊ณ„์†์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ณ , 

๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋กœ ์›๋ž˜ Node.js๋ฅผ ์“ฐ๋‹ค๊ฐ€ python์œผ๋กœ, ํ˜น์€ Ruby๋กœ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์ฒ˜๋Ÿผ

์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š๋‹ค!!

 

์ด์ฒ˜๋Ÿผ ๊ธฐ์กด์˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ ๊ด€๋ฆฌํ•˜๊ธฐ์— ์•„์ฃผ ๋ณต์žกํ•˜๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค๐Ÿคฏ

 

 

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์„œ๋ฒ„์˜ ๋ฌธ์ œ์ ์€ ๋„์ปค์˜ ๋“ฑ์žฅ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ตœ๊ทผ์—๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์ค‘์š”์„ฑ์ด ๋ถ€๊ฐ๋˜๋ฉด์„œ ๋„์ปค๊ฐ€ ๊ฐ๊ด‘๋ฐ›๊ธฐ ์‹œ์ž‘ํ•˜์˜€๋‹ค.

 

 

3. ๋„์ปค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜ˆ์‹œ ์ƒํ™ฉ - ์›Œ๋“œํ”„๋ ˆ์Šค๋ฅผ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ

 

์›Œ๋“œํ”„๋ ˆ์Šค๋ผ๋Š” ์„œ๋น„์Šค๋Š” php์™€ mysql๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋ผ๋ฉด ์„œ๋ฒ„์— php์™€ mysql์„ ์„ค์น˜ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๊ณ ,

์„ค์น˜๋ฅผ ์™„๋ฃŒํ•ด์•ผ ์„œ๋ฒ„์—์„œ ์ •์ƒ์ ์œผ๋กœ ์›Œ๋“œํ”„๋ ˆ์Šค๊ฐ€ ์‹คํ–‰๋  ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜ ๋„์ปค๋Š” ์ด ์ž‘์—…์„ ํ•„์š”์—†๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

php๋‚˜ mysql์„ ์„ค์น˜ํ•˜๋Š” ์ž‘์—… ์—†์ด๋„ ์›Œ๋“œํ”„๋ ˆ์Šค๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ๋ง๋กœ ํ•˜๋ฉด ํŠน์ • ์„œ๋น„์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์—๋„ ์„œ๋ฒ„์—์„œ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด ๋œ๋‹ค.

 

๊ทธ๋งŒํผ ๋„์ปค๋Š” ํŽธ๋ฆฌํ•˜๊ณ  ์‰ฝ๊ฒŒ ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๐Ÿ‘

 

 

4. ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)๊ณผ์˜ ์ฐจ์ด


๋„์ปค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ค์–ด๋‘๊ณ , ์–ด๋–ค ์„œ๋ฒ„์—์„œ๋“  ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

๊ทธ๋Ÿผ ๊ฐ€์ƒ๋จธ์‹ ๊ณผ ๋„์ปค๋ฅผ ๋น„๊ตํ•ด๋ณด์ž.๐Ÿคท‍โ™€๏ธ

 

์ธํ”„๋Ÿฐ ๊ฐ•์˜์ž๋ฃŒ ์ด๋ฏธ์ง€

๋จผ์ € ๊ฐ€์ƒ๋จธ์‹ ์ด๋ž€, ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ์—๋ฎฌ๋ ˆ์ด์…˜(๊ฐ€์ƒํ˜„์‹คํ™”)ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ, VM์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๊ฐ€์ƒ๋จธ์‹ ์ƒ์—์„œ ์šด์˜ ์ฒด์ œ๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

(๋ฌผ๋ก  ๋…๋ฆฝ๋œ ๊ณต๊ฐ„์—์„œ ์ž์›์„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์„ฑ์œผ๋กœ๋Š” ํšจ์œจ์ ์ด๋‹ค.)

 

์•„๋ฌดํŠผ ์ด๋Ÿฌํ•œ ๊ฐ€์ƒ๋จธ์‹ ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ๋„์ปค๊ฐ€ ๋“ฑ์žฅํ•˜์˜€๋‹ค.

๋„์ปค๋Š” ๊ฐ€์ƒ๋จธ์‹ ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…์ด์ง€๋งŒ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

๋„์ปค๋Š” ์œ„์˜ ๊ฐœ๋…์—์„œ๋„ ์–ธ๊ธ‰๋˜์—ˆ๋“ฏ์ด, '์ปจํ…Œ์ด๋„ˆ'๊ธฐ๋ฐ˜์ด๋‹ค.

์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒŒ์ŠคํŠธOS๋ฅผ ๋ณ„๋„๋กœ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ , ํ˜ธ์ŠคํŠธOS๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ์„œ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ๋…๋ฆฝ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๊ฒŒ ํ•œ๋‹ค.

์ธํ”„๋Ÿฐ ๊ฐ•์˜์ž๋ฃŒ ์ด๋ฏธ์ง€

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

 

 

๊ทธ๋ž˜์„œ ๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” . . .

๊ฐ€์ƒ๋จธ์‹ ์ฒ˜๋Ÿผ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด์„œ,

๊ฐ€์ƒ๋จธ์‹ ๋ณด๋‹ค ๋น ๋ฅด๊ณ , ์‰ฝ๊ณ , ํšจ์œจ์ ์ด๋‹ค!

 

 

 

๐Ÿ‘‡ ๋‹ค์Œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

https://hoon93.tistory.com/41

 

๋„์ปค(Docker)์™€ ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine) ๋น„๊ต

๋„์ปค(Docker = Docker Engine)๋ž€?? ์ €๋Š” ์–ด๋– ํ•œ IT์šฉ์–ด๋ฅผ ์ ‘ํ•˜๋ฉด ์ œ์ผ ๋จผ์ € ์‚ฌ์ „์  ์˜๋ฏธ๋ฅผ ์ฐพ์•„๋ณด๋Š” ํŽธ์ธ๋ฐ์š”, ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณด๋‹ˆ ๋„์ปค(Docker)๋ž€ '๋ถ€๋‘(ํ•ญ๋งŒ) ๋…ธ๋™์ž'๋ฅผ ์˜๋ฏธํ•จ์„ ์•Œ๊ฒŒ ๋์—ˆ์Šต๋‹ˆ๋‹ค. '๋ถ€๋‘ ๋…ธ

hoon93.tistory.com

https://pkh11.medium.com/docker-%EB%8F%84%EC%BB%A4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-8b93d1a46aa8

 

[Docker] ๋„์ปค๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

pkh11.medium.com

 

๋Œ“๊ธ€