๐Ÿ“’ [ TIL ] 2022.07.07_56์ผ์ฐจ # Docker (1)

๋ฌธ๋ช…์ฃผยท2022๋…„ 7์›” 7์ผ
0
post-thumbnail

[ 2022-07-07 (๋ชฉ) ์˜ค๋Š˜์˜ TIL ]

[ Today Learn ]

  • Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” end-to-end ๊ฒฝํ—˜

  • Docker์˜ ์ •์˜

  • Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

โœ๏ธ ๋‚ด๊ฐ€ ๋ฐฐ์šด๊ฒƒ, ์–ป์€๊ฒƒ

* Docker์˜ ์ •์˜

โ“ Docker ๋ž€ ?
๋„์ปค๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ผ์ข…์˜ ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์œผ๋กœ, ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์„œ ํ•˜๋“œ์›จ์–ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

* Docker๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ• #1

  • ๋ฌธ์ œ ์ •์˜) ์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ ์–ด๋ ต๋‹ค!
    • ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋ฒ„๋„ ์šด์˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š”๊ฑด ์ ์  ๋ณต์žกํ•ด์ง„๋‹ค.
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ) ์„œ๋ฒ„ ์šด์˜์—์„œ ์ธํ”„๋ผ ๊ด€๋ฆฌ์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ์„ ๋ถ„๋ฆฌํ•˜๋ฉด ์–ด๋–จ๊นŒ?
    • ์‹คํ–‰ํ™˜๊ฒฝ, ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ, ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์„ค์ • ํŒŒ์ผ์„ ํ•œ๊ณณ์— ์ •์˜ํ•ด๋‘๋ฉด ์–ด๋–จ๊นŒ? โ‡’ ๋„์ปค ์ด๋ฏธ์ง€
    • ์„œ๋ฒ„์—์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์‹คํ–‰๋งŒ ์‹œํ‚ค์ž!
  • ์ด๋Ÿฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ ์šฉ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ํ•ด๊ฒฐํ•ด์•ผ ํ•  3๊ฐ€์ง€ ๋ฌธ์ œ
  1. ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•
  2. ์ด๋ฏธ์ง€๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฒ•
  3. ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฒ•

* Docker๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ• #2

  • docker image & container
    • image๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
    • container๋Š” image๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ๋…๋ฆฝ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋„คํŠธ์›Œํฌ๋‚˜ ์ €์žฅ์†Œ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • docker registry
    • docker image๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„
  • dockerd
    • docker API requests๋ฅผ ๋ฐ›์•„์„œ docker object(image, container๋“ฑ)๋ฅผ ๊ด€๋ฆฌ
  • docker client
    • ์‚ฌ์šฉ์ž๊ฐ€ docker๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” cli

* ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณต์œ ํ•˜๊ธฐ
โ“ Docker registry ๋ž€ ?

  • ์ฝ”๋“œ์— git repository๊ฐ€ ์žˆ๋‹ค๋ฉด ๋„์ปค ์ด๋ฏธ์ง€์—๋Š” docker registry!

-> docker registry๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ๋ถ„๋ฐฐํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ์ด๋‹ค.

  • git repository์— git hub์ด ์žˆ๋‹ค๋ฉด docker registry์—๋Š” docker hub!

-> docker hub์€ docker๋ฅผ ๋งŒ๋“  ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” docker registry๋กœ ๋Œ€๋ถ€๋ถ„์˜ ๊ณต์‹์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

๐ŸŒฑ ๋Š๋‚€ ์ 

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

profile
ํ•˜๋ฃจ ํ•œ๊ฑธ์Œ์”ฉ ๊พธ์ค€ํžˆ ๋‚˜์•„๊ฐ€๋Š” ๊ฐœ๋ฐœ์ž๐Ÿ™†โ€โ™€๏ธ https://github.com/Moonmooj

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด