πŸ“‚ Container & K8S/Docker

[Docker] λ„μ»€λž€? 도컀와 μ»¨ν…Œμ΄λ„ˆ 정리

dhyuck 2021. 8. 22. 02:47
λ°˜μ‘ν˜•

λ„μ»€λž€? μ»¨ν…Œμ΄λ„ˆλž€?

λ„μ»€λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€ ν”Œλž«νΌμž…λ‹ˆλ‹€.
μ»¨ν…Œμ΄λ„ˆλŠ” λ¦¬λˆ…μŠ€ μ»€λ„μ—μ„œ μ œκ³΅ν•˜λŠ” Namespcae, Cgroups λ“±μ˜ κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ λ§Œλ“  독립적인 κ°€μƒμ˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ν™˜κ²½μ„ μ˜λ―Έν•˜λ©° μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 싀행에 ν•„μš”ν•œ λͺ¨λ“  νŒŒμΌμ„ νŒ¨ν‚€μ§€ν™”μ‹œν‚¨ μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν‘œμ€€ λ‹¨μœ„μž…λ‹ˆλ‹€.

도컀가 μ„€μΉ˜λ˜κ³ , μ΄λ―Έμ§€λ§Œ μžˆλ‹€λ©΄ μ–΄λ””μ„œλ“  μ‹€ν–‰ ν•  수 μžˆμ–΄μ„œ 개발과 배포 ν™˜κ²½μ„ λ™μΌν•˜κ²Œ ꡬ성 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


μ»¨ν…Œμ΄λ„ˆμ™€ 가상머신(VM)의 차이점

독립적인 μ‹€ν–‰ν™˜κ²½μ„ μ œκ³΅ν•œλ‹€λŠ” μ μ—μ„œ μ»¨ν…Œμ΄λ„ˆμ™€ 가상머신은 λΉ„μŠ·ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ»¨ν…Œμ΄λ„ˆλŠ” 기본적으둜 OSκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ³ , 도컀 엔진에 μ˜ν•΄ ν†΅μ œκ°€ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

λ•Œλ¬Έμ— 게슀트 OSλ₯Ό ν¬ν•¨ν•˜κ³  ν•˜μ΄νΌ 바이저 μœ„μ—μ„œ λ™μž‘ν•˜λŠ” 가상머신보닀 μ˜€λ²„ν—€λ“œκ°€ 적고 싀행이 λΉ λ¦…λ‹ˆλ‹€.


도컀 μš©μ–΄

  • 도컀 이미지(Docker Image) : 도컀 μ΄λ―Έμ§€λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λŠ”λ° ν•„μš”ν•œ λͺ¨λ“  정보(μ†ŒμŠ€μ½”λ“œ, 라이브러리, 쒅속성..)을 가지고 μžˆλŠ” μ†Œν”„νŠΈμ›¨μ–΄ νŒ¨ν‚€μ§€λ‘œ 이미지λ₯Ό μ‹€ν–‰μ‹œν‚€λ©΄ μ»¨ν…Œμ΄λ„ˆκ°€ λ©λ‹ˆλ‹€.
  • 도컀 파일(Docker File) : 도컀 이미지λ₯Ό λΉŒλ“œν•˜κΈ° μœ„ν•œ 정보가 λ‹΄κΈ΄ 파일둜 도컀 엔진이 이미지λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄ μ°Έμ‘°ν•˜λŠ” CLI λͺ©λ‘μž…λ‹ˆλ‹€.
  • 도컀 μ»¨ν…Œμ΄λ„ˆ(Docker Container) : 도컀 μ΄λ―Έμ§€μ˜ μΈμŠ€ν„΄μŠ€μ΄λ©°, μ’…λ£Œμ‹œ λͺ¨λ“  데이터가 νœ˜λ°œλ©λ‹ˆλ‹€.
  • 도컀 엔진(Docker Engine) : 도컀 데λͺ¬(μ„œλ²„)κ³Ό 도컀 ν΄λΌμ΄μ–ΈνŠΈ(CLI) λ₯Ό ν¬ν•¨ν•˜λ©°, 보톡 도컀λ₯Ό λ§ν•œλ‹€λ©΄ 도컀 엔진을 λœ»ν•©λ‹ˆλ‹€.
  • 도컀 데λͺ¬(Docker Daemon) : 도컀 이미지, μ»¨ν…Œμ΄λ„ˆ, λ„€νŠΈμ›Œν¬, λ³Όλ₯¨μ„ κ΄€λ¦¬ν•˜λŠ” λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€λ‘œ 도컀 μ•„ν‚€ν…μ³μ—μ„œ μ„œλ²„μ— ν•΄λ‹Ήν•˜λ©°, 도컀 ν΄λΌμ΄μ–ΈνŠΈλ‘œ λΆ€ν„° λͺ…령을 λ°›μ•„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  • 도컀 ν΄λΌμ΄μ–ΈνŠΈ(Docker Cient) : REST API 등을 μ‚¬μš©ν•˜μ—¬ 도컀 데λͺ¬κ³Ό ν†΅μ‹ ν•˜λ©°, μ‚¬μš©μžμ—κ²Œ CLIν™˜κ²½μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  • 도컀 λ ˆμ§€μŠ€νŠΈλ¦¬(Docker Registry) : 도컀 이미지λ₯Ό μ €μž₯ν•˜κ³  λ°°ν¬ν•˜λŠ” μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. 도컀 ν—ˆλΈŒ(Docker Hub)λŠ” νΌλΈ”λ¦­ν•œ 도컀 λ ˆμ§€μŠ€νŠΈλ¦¬μ΄λ©°, ν”„λΌμ΄λΉ—ν•œ 개인 λ ˆμ§€μŠ€νŠΈλ¦¬λ„ λ§Œλ“€μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
  • 도컀 컴포즈(Docker Compose) : μ—¬λŸ¬κ°œμ˜ 도컀 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ •μ˜ν•˜κ³  μ‹€ν–‰ν•˜κΈ° μœ„ν•œ 도ꡬ이며, YAML νŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλΉ„μŠ€λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.

μ°Έκ³ 

λ°˜μ‘ν˜•