Skip to content

Latest commit

Β 

History

History
111 lines (85 loc) Β· 4.84 KB

Docker_1.md

File metadata and controls

111 lines (85 loc) Β· 4.84 KB

λ„μ»€λž€ 무엇인가?

μΈν”„λŸ° - 초보λ₯Ό μœ„ν•œ 도컀 μ•ˆλ‚΄μ„œλ₯Ό λ“£κ³  μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€

λ„μ»€λŠ” μ–΄λ–€ 문제λ₯Ό μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆμ„κΉŒ?

μ„œλ²„ κ΄€λ¦¬λž€

μ„œλ²„ν™˜κ²½κ³Ό κ°œλ°œν™˜κ²½μ΄ κ³„μ†ν•΄μ„œ λ°”λ€” 수 μžˆλ‹€. μ„œλ²„λ₯Ό κ΄€λ¦¬ν•˜λ €λ©΄ μ—¬λŸ¬ κ°œλ°œν™˜κ²½μ΄ 잘 λŒμ•„κ°€κ²Œλ” μ„œλ²„λ₯Ό 관리해주어야 ν•œλ‹€. ➑️ ꡉμž₯히 볡작!

μ„œλ²„κ΄€λ¦¬ λ°©μ‹μ˜ λ³€ν™”

전톡적

ν•œ λ•€ ν•œ λ•€ . . λͺ¨λ“  ν”„λ‘œκ·Έλž¨μ΄ μ—°μ‡„μ μœΌλ‘œ μ„€μΉ˜λ˜μ–΄μ•Όν•¨

도컀

λͺ¨λ“  ν”„λ‘œκ·Έλž¨μ΄ μ»¨ν…Œμ΄λ„ˆλ‘œ 좔상화, μ–΄λŠ ν΄λΌμš°λ“œμ—μ„œλ„ μ‹€ν–‰ κ°€λŠ₯ν•˜λ‹€

가상 λ¨Έμ‹  같은건가? πŸ€”

κ°€μƒλ¨Έμ‹ μ²˜λŸΌ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λ˜μ§€λ§Œ, 가상 머신보닀 λΉ λ₯΄κ³ , 쉽고 νš¨μœ¨μ μž„!

λ„μ»€λŠ” λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 μ‚¬μš©

도컀가 λ“±μž₯ν•˜κΈ° μ „ μ„œλ²„ 운영

ν•œ λ•€ ν•œ λ•€.. 운영

Ex)

  1. 파이썬 버전 μ—…λ°μ΄νŠΈλ₯Ό ν–ˆμ„ λ•Œ, μ–΄λ–€ 일이 λ°œμƒν• μ§€ μ•Œ 수 μ—†λ‹€

  2. νŒ¨ν‚€μ§€ μ—…λ°μ΄νŠΈ ν–ˆμ„ λ•Œ λ¬Έμ œκ°€ μ—†μ„κΉŒ?

  3. 잘 ꡬ성을 ν–ˆλ‹€κ³  생각을 ν–ˆλŠ”λ°.. 싀행을 ν–ˆμ„ λ•Œ μ„œλ²„κ°€ μ•ˆλœ° 수 μžˆλ‹€!

각 단계 λ³„λ‘œ μ–΄λ–€ λ¬Έμ œκ°€ λ°œμƒν• μ§€ μ˜ˆμΈ‘μ„ ν•΄μ„œ λŒ€μ²˜λ₯Ό 해야함

μ„œλ²„μ˜ μƒνƒœλ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ λ…Έλ ₯!

  1. μ„œλ²„λ°°ν¬.pptx

    (μ„€μΉ˜ κ°€μ΄λ“œ)

    • 문제
      • λ‹€λ₯Έ OSμ—λŠ” μ–΄λ–»κ²Œ μ„€μΉ˜ν•˜λŠ”κ±°μ§€..
      • μ–Έμ œ μž‘μ„±λœκ±΄μ§€.. λ°”λ€κ²Œ 잘 μ μš©λœκ±΄μ§€.. μ •ν™•ν•œκ±΄μ§€..
      • λ˜‘κ°™μ΄ ν–ˆλŠ”λ° μ™œ μ•ˆλ˜μ§€
  2. μƒνƒœκ΄€λ¦¬ 도ꡬ CHEF, ANSIBLE .. => 어렀움 γ…œγ…œ, ν•œ μ„œλ²„μ— λ‹€λ₯Έλ²„μ „ μ—¬λŸ¬ 개 μ„€μΉ˜ μ–΄λ–»κ²Œ ν•˜μ§€?

  3. 가상머신

    • ν•œ μ„œλ²„μ— μ—¬λŸ¬ 개 μ„€μΉ˜ 쉽닀
    • ν˜„μž¬ μƒνƒœλ₯Ό μ €μž₯ν•  수 μžˆλ‹€ (40G..)
    • 근데 λŠλ¦¬λ‹€
  4. μžμ› 격리

    • ν”„λ‘œμ„ΈμŠ€λ₯Ό κ°€μƒμœΌλ‘œ 뢄리
    • λ¦¬λˆ…μŠ€ κΈ°λŠ₯을 μ΄μš©ν•œ λΉ λ₯΄κ³  효율적인 μ„œλ²„ 관리
    • but 어렀움..

λ„μ»€λŠ” μ–΄λ ΅κ³  λ³΅μž‘ν•œ κΈ°μˆ μ„ μ‚¬μš©ν•˜κΈ° μ‰½κ²Œ!

λ„μ»€μ˜ λ“±μž₯

μ»¨ν…Œμ΄λ„ˆ : 격리된 ν™˜κ²½μ—μ„œ μž‘λ™ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€

  • λ¦¬λˆ…μŠ€ μ»€λ„μ˜ μ—¬λŸ¬ κΈ°μˆ μ„ ν™œμš©
  • ν•˜λ“œμ›¨μ–΄ 가상화 κΈ°μˆ λ³΄λ‹€ 가벼움
  • 이미지 λ‹¨μœ„λ‘œ ν”„λ‘œμ„ΈμŠ€ μ‹€ν–‰ ν™˜κ²½ ꡬ성

도컀 νŠΉμ§•

  1. ν™•μž₯μ„±/이식성 good
  • 도컀가 μ„€μΉ˜λ˜μ–΄ μžˆλ‹€λ©΄ μ–΄λ””λ“  μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ κ°€λŠ₯
  • νŠΉμ • νšŒμ‚¬, μ„œλΉ„μŠ€μ— 쒅속적이지 μ•ŠμŒ
  • μ‰½κ²Œ κ°œλ°œμ„œλ²„λ₯Ό λ§Œλ“€ 수 있고 ν…ŒμŠ€νŠΈμ„œλ²„ 생성도 κ°„νŽΈ
  1. ν‘œμ€€μ„±
  • 도컀λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ -> ruby, node.js, go, php둜 λ§Œλ“  μ„œλΉ„μŠ€λ“€μ˜ 배포방식 λͺ¨λ‘λ‹€ 닀름!
  • μ»¨ν…Œμ΄λ„ˆ λΌλŠ” ν‘œμ€€μœΌλ‘œ μ„œλ²„λ₯Ό λ°°ν¬ν•˜λ―€λ‘œ λͺ¨λ“  μ„œλΉ„μŠ€λ“€μ˜ 배포 과정이 동일해진닀
  1. 이미지
  • μ΄λ―Έμ§€λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜λŠ” μ••μΆ• 파일 같은 것
  • μ΄λ―Έμ§€λŠ” Dockerfileμ΄λΌλŠ” scriptλ₯Ό μ΄μš©ν•΄μ„œ λ§Œλ“ λ‹€
  • λΉŒλ“œ μ„œλ²„μ—μ„œ 이미지λ₯Ό λ§Œλ“€κ³ , ν•΄λ‹Ή 이미지λ₯Ό 이미지 μ €μž₯μ†Œμ— μ €μž₯ν•œ λ’€ 운영 μ„œλ²„μ—μ„œ 이미지λ₯Ό 뢈러옴
  1. 섀정관리
  • 섀정은 보톡 ν™˜κ²½λ³€μˆ˜λ‘œ μ œμ–΄ν•¨
  • MYSQL_PASS=password 와 같이 μ»¨ν…Œμ΄λ„ˆλ₯Ό λ„μšΈ λ•Œ ν™˜κ²½λ³€μˆ˜λ₯Ό 같이 지정
  • ν•˜λ‚˜μ˜ 이미지가 ν™˜κ²½λ³€μˆ˜μ— 따라 λ™μ μœΌλ‘œ μ„€μ •νŒŒμΌμ„ μƒμ„±ν•˜λ„λ‘ λ§Œλ“€μ–΄μ Έμ•Όν•¨
  1. μžμ›κ΄€λ¦¬
  • μ»¨ν…Œμ΄λ„ˆλŠ” μ‚­μ œ ν›„ μƒˆλ‘œ λ§Œλ“€λ©΄ λͺ¨λ“  데이터가 μ΄ˆκΈ°ν™”λ¨
  • S3같은 별도 μ €μž₯μ†Œ ν•„μš”
  • μ„Έμ…˜μ΄λ‚˜ μΊμ‹œλŠ” redis같은 μ™ΈλΆ€λ‘œ 뢄리

도컀가 κ°€μ Έμ˜¨ λ³€ν™”

  • ν΄λΌμš°λ“œ 이미지 보닀 관리 쉬움
  • λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ κ²©λ¦¬λ˜μ–΄ 가상머신 처럼 μ‚¬μš©ν•˜μ§€λ§Œ μ„±λŠ₯μ €ν•˜ 거의 μ—†μŒ
  • λ³΅μž‘ν•œ 기술 λͺ°λΌλ„됨
  • 이미지 λΉŒλ“œ 기둝 λ‚¨μŒ
  • μ½”λ“œμ™€ μ„€μ •μœΌλ‘œ 관리 > μž¬ν˜„κ³Ό μˆ˜μ • κ°€λŠ₯
  • μ˜€ν”ˆμ†ŒμŠ€ > μ„œλΉ„μŠ€λ‚˜ νšŒμ‚¬μ— λ…λ¦½μ μž„

μΏ λ²„λ„€ν‹°μŠ€

λ„μ»€λŠ” ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ„ κ΄€λ¦¬ν•˜λŠ” 방식 μΏ λ²„λ„€ν‹°μŠ€λŠ” μ—¬λŸ¬κ°œμ˜ μ„œλ²„μ— μ—¬λŸ¬κ°œμ˜ μ„œλΉ„μŠ€λ₯Ό 관리

μŠ€μΌ€μ€„λ§

  • μ»¨ν…Œμ΄λ„ˆλ₯Ό μ λ‹Ήν•œ μ„œλ²„μ— λ°°ν¬ν•΄μ£ΌλŠ” μž‘μ—…
  • μ—¬λŸ¬ λŒ€μ˜ μ„œλ²„ 쀑 κ°€μž₯ 할일 μ—†λŠ” μ„œλ²„μ— 배포 or μ°¨λ‘€λŒ€λ‘œ 배포 or 랜덀 배포
  • μ»¨ν…Œμ΄λ„ˆ 개수λ₯Ό μ—¬λŸ¬ 개둜 늘리면 μ λ‹Ήνžˆ λ‚˜λˆ  배포, μ„œλ²„κ°€ 죽으면 μ‹€ν–‰μ€‘μ΄λ˜ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ‹€λ₯Έ μ„œλ²„μ— λ„μ›Œμ€Œ

ν΄λŸ¬μŠ€ν„°λ§

  • μ—¬λŸ¬ 개의 μ„œλ²„λ₯Ό ν•˜λ‚˜μ˜ μ„œλ²„μ²˜λŸΌ μ‚¬μš©
  • μž‘κ²ŒλŠ” λͺ‡ 개 μ•ˆλ˜λŠ” μ„œλ²„λΆ€ν„°, λ§Žκ²ŒλŠ” 수천 λŒ€μ˜ μ„œλ²„λ₯Ό ν•˜λ‚˜μ˜ ν΄λŸ¬μŠ€ν„°λ‘œ
  • μ—¬κΈ°μ €κΈ° 흩어진 μ»¨ν…Œμ΄λ„ˆλ„ 가상 λ„€νŠΈμ›Œν¬λ₯Ό μ΄μš©ν•˜μ—¬ 마치 같은 μ„œλ²„μ— μžˆλŠ” 것 처럼 톡신!

μ„œλΉ„μŠ€ λ””μŠ€μ»€λ²„λ¦¬

  • μ„œλΉ„μŠ€μ˜ μ„œλ²„κ°€ 어디에 λ– μžˆλŠ”μ§€ μ°Ύμ•„μ€Œ!
  • ν΄λŸ¬μŠ€ν„° ν™˜κ²½μ—μ„œλŠ” μ»¨ν…Œμ΄λ„ˆκ°€ μ–΄λ–€ μ„œλ²„μ— 생성될지 λͺ¨λ₯΄κ³ , λ‹€λ₯Έ μ„œλ²„λ‘œ 이동도 ν•  수 있기 λ•Œλ¬Έμ— -> 톡신을 μœ„ν•΄μ„œλŠ” μ„œλΉ„μŠ€κ°€ μ–΄λŠ μ„œλ²„μ—μ„œ 싀행쀑인지 μ•Œμ•„μ•Όν•¨.