ν‹°μŠ€ν† λ¦¬ λ·°

πŸ’œ IT/Infra

[Docker] μ‹œμž‘ν•˜κΈ°μ „μ—

쿠킀씨 2022. 4. 24. 14:55

Docker ?

κ·€μ—¬μš΄ 도컀

 

: λ„컀(Docker)λŠ” λ¦¬λˆ…μŠ€μ˜ μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ„ ν”„λ‘œμ„ΈμŠ€ 격리 κΈ°μˆ λ“€μ„ μ‚¬μš©ν•΄ μ»¨ν…Œμ΄λ„ˆλ‘œ μ‹€ν–‰ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈμ΄λ‹€.
도컀 μ›Ή νŽ˜μ΄μ§€μ˜ κΈ°λŠ₯을 μΈμš©ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€:λ„μ»€λŠ” λ¦¬λˆ…μŠ€μ—μ„œ μš΄μ˜ 체제 μˆ˜μ€€ κ°€μƒν™”μ˜ 좔상화 및 μžλ™ν™” 계측을 μΆ”κ°€μ μœΌλ‘œ μ œκ³΅ν•œλ‹€.
[6] λ„μ»€λŠ” cgroups와 컀널 μ΄λ¦„곡간과 같은 λ¦¬λˆ…μŠ€ μ»€λ„μ˜ κΈ°λŠ₯λ“€κ³Ό OverayFS, aufs와 같은 μœ λ‹ˆμ–Έ κ°€λŠ₯ 파일 μ‹œμŠ€ν…œμ˜ λ¦¬μ†ŒμŠ€ 격리 κΈ°λŠ₯을 μ‚¬μš©ν•˜λ©°,
[7] μ΄λ₯Ό 톡해 독립적인 "μ»¨ν…Œμ΄λ„ˆ"κ°€ ν•˜λ‚˜μ˜ λ¦¬λˆ…μŠ€ μΈμŠ€ν„΄μŠ€ μ•ˆμ—μ„œ μ‹€ν–‰ν•  수 있게 ν•¨μœΌλ‘œμ¨ κ°€μƒ 머신을 μ‹œμž‘ν•˜μ—¬ μœ μ§€ λ³΄μˆ˜ν•΄μ•Ό ν•˜λŠ” 뢀담을 μ—†μ• μ€€λ‹€.

- 도컀, μœ„ν‚€λ°±κ³Ό

 

사싀 이 κΈ€λ§Œ λ΄μ„œλŠ” ν•œ λ²ˆμ— 잘 이해가 λ˜μ§€ μ•ŠλŠ”λ‹€.

직접 μ—°κ΄€λœ 무언가 ν•΄λ³Έ 적이 μ—†μ–΄μ„œ 더 그런 것 κ°™λ‹€... 일단 머리에 λ„£μ–΄ λ³Έλ‹€.

​

λ‚΄κ°€ μ΄ν•΄ν•œ λ°”λ‘œλŠ”, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ»¨ν…Œμ΄λ„ˆλΌλŠ” νŒ¨ν‚€μ§€λ‘œ ν•œλ²ˆ μ„ΈνŒ…μ„ 해놓고, 이후에도 μ†μ‰½κ²Œ μ‚¬μš©ν•˜λŠ” κ°œλ…μ΄ μ•„λ‹κΉŒ μ‹Άλ‹€.

기본적으둜 OS의 μ’…λ₯˜λŠ” μ—¬λŸ¬ κ°€μ§€κ°€ μžˆλŠ”λ° 도컀λ₯Ό μ‚¬μš©ν•˜κ²Œ 되면 λ˜‘κ°™μ€ Linux ν™˜κ²½μ—μ„œ 컨트둀 배포 및 ν™•μž₯을 ν•  수 μžˆλ‹€κ³  ν•œλ‹€.

μ–Έμ œ μ–΄λ””μ„œ μ–΄λ–€ OSλ₯Ό 쓰더라도 κ·œκ²©ν™”λ˜μ–΄μžˆκ³  ν‘œμ€€ν™”λ˜μ–΄μžˆλŠ” μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½μ„ μ“Έ 수 μžˆλ‹€λŠ” 것이 μž₯점이닀.

​

λ”λΆˆμ–΄ 속도도 일반 OS와 거의 차이가 없을 μ •λ„λ‘œ λΉ λ₯Έ 편이라고 ν•œλ‹€.

κ°œλ°œλ„, 배포도, λΉŒλ“œλ„, μœ μ§€λ³΄μˆ˜λ„ λ‹€ λΉ λ₯΄κ²Œ ν•΄μ£ΌλŠ” λ§ˆλ²•κ³Ό 같은 μ†Œν”„νŠΈμ›¨μ–΄λΌκ³  λΆ€λ₯Έλ‹€κ³  ν•œλ‹€.

​

λ­”κ°€ λ§Œλ“€μ–΄μ„œ μ‹€μ œ μ„œλ²„μ— 배포λ₯Ό ν•˜λŠ”λ°, 도컀 없이 배포λ₯Ό ν•œλ‹€λ©΄

μ„œλ²„λ₯Ό 빌리고 > OS λ§žμΆ”κ³  > ν™˜κ²½ λ§žμΆ”κ³  > μ˜μ‘΄μ„± λ‹€ λ§žμΆ”κ³  >.... 번거둜운 μž‘μ—…μ΄ λ§Žλ‹€.

( λ­”κ°€ ν•˜λ‚˜ λ‹€μš΄λ‘œλ“œν•˜λ”λΌλ„ λͺ…λ Ήμ–΄κ°€ λ‹€ λ‹€λ₯΄λ‹€. )

​

ν•˜μ§€λ§Œ 도컀λ₯Ό λ„μž…ν•˜κ³ , μ΄ˆλ°˜μ— ν•œλ²ˆ ν™˜κ²½μ„ λ§žμΆ”λ©΄ 좔가적인 일은 거의 μ—†μ–΄μ§„λ‹€.

ν•œλ²ˆ 이미지λ₯Ό λ§Œλ“€μ–΄λ†“μœΌλ©΄ 같은 μ»¨ν…Œμ΄λ„ˆλ₯Ό λ³΅μ œν•  수 μžˆλ‹€. 즉 반볡 μž‘μ—…μ„ ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.

( OS도 λ‹€ λ‹€λ₯΄κ²Œ μ‹ κ²½ μ“Έ ν•„μš” 없이, λͺ…λ Ήμ–΄λ₯Ό ν•˜λ‚˜λ„ ν†΅μΌν•΄μ„œ μ“Έ 수 μžˆλ‹€. ( ν•˜λ‚˜λ§Œ κ³΅λΆ€ν•˜λ©΄ λœλ‹€. ))

( like CLASS와 INSTANCE의 관계과 ν‘μ‚¬ν•˜λ‹€. )

OS와 λ”λΆˆμ–΄ 섀정해놓은 λͺ¨λ“  것을, 원할 λ•Œλ§ˆλ‹€ κ°€μ Έμ˜¬ 수 μžˆλŠ” μ†Œν”„νŠΈμ›¨μ–΄. λΆ•μ–΄λΉ΅ ν‹€κ³Ό 같은가 보닀.

 


  • μ»¨ν…Œμ΄λ„ˆ : 격리된 ν”„λ‘œμ„ΈμŠ€ λ™μž‘ 기술, λ™μΌν•œ μΈν„°νŽ˜μ΄μŠ€λ‘œ ν™˜κ²½, ν”„λ‘œκ·Έλž¨ λ“± κ°œλ°œμ— ν•„μš”ν•œ μ „λ°˜μ„ 좔상화해쀀닀.
  • μΈμŠ€ν„΄μŠ€ : μ»¨ν…Œμ΄λ„ˆλ‘œ 찍어낸 ν•˜λ‚˜μ˜ μ„œλΉ„μŠ€ 덩어리
  • 이미지 : μ»¨ν…Œμ΄λ„ˆ 싀행에 ν•„μš”ν•œ λͺ¨λ“  파일과 μ„€μ • 값을 ν¬ν•¨ν•œ 것. 이미 이미지가 λͺ¨λ“  μ˜μ‘΄μ„± 및 ν•„μš”ν•œ 것듀을 λ‹€ κ°€μ§€κ³  있기 λ•Œλ¬Έμ— 이후에 이것저것 μ„€μΉ˜ν•  ν•„μš”κ°€ μ—†λ‹€. 미리 λ§Œλ“€μ–΄μ§„ 이미지λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³ , μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜κΈ°λ§Œ ν•˜λ©΄ λœλ‹€. 도컀 μ΄λ―Έμ§€λŠ” κΉƒ ν—™ λ“± μ‰½κ²Œ μ €μž₯ν•˜κ³  관리할 수 있으며 λˆ„κ΅¬λ‚˜ λ§Œλ“€ 수 μžˆλ‹€.
  • μ‹€ν–‰ν™˜κ²½ : AWS, Azure, Google Cloud λ“± μ–΄λ””μ„œλ‚˜ μ‹€ν–‰ν•  수 μžˆλ‹€. ν•œ μ„œλ²„μ— μ—¬λŸ¬ 개의 μ»¨ν…Œμ΄λ„ˆ 싀행이 κ°€λŠ₯ν•˜λ‹€.

'πŸ’œ IT > Infra' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Git] Branch, Git-Flow  (3) 2022.04.24
λŒ“κΈ€
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
κΈ€ 보관함