Programming/DevOps

[DevOps] 도컀(Docker)λŠ” μ™œ μ“ΈκΉŒ?

Space_Jin 2022. 5. 17. 01:17
728x90
λ°˜μ‘ν˜•

λ„μ»€λŠ” λ‹€μ–‘ν•œ μš΄μ˜μ²΄μ œμ—μ„œ λ¦¬λˆ…μŠ€μ˜ μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½μ„ μ œκ³΅ν•˜κΈ° μœ„ν•œ 엔진 μž…λ‹ˆλ‹€.

μ»¨ν…Œμ΄λ„ˆ(container)λŠ” 뭘까?

μ»¨ν…Œμ΄λ„ˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  수 μžˆλŠ” ν™˜κ²½μž…λ‹ˆλ‹€.

μš΄μ˜μ²΄μ œμ™€λŠ” λ‹€λ₯Έ κ°œλ…μœΌλ‘œ λ¦¬λˆ…μŠ€ μš΄μ˜μ²΄μ œμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  수 μžˆλŠ” λ…λ¦½λœ ν™˜κ²½μ„ μ œκ³΅ν•˜λŠ”λ° μ΄λ•Œ, λ…λ¦½λœ ν™˜κ²½μ΄ μ»¨ν…Œμ΄λ„ˆ μž…λ‹ˆλ‹€.

 

쑰금 더 μžμ„Έν•œ λ‚΄μš©μ€ μ°¨ν›„ κΈ€ μž‘μ„±μœΌλ‘œ λŒ€μ²΄ν•˜κ² μŠ΅λ‹ˆλ‹€.

도컀λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 1. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬λ™ν•˜κΈ° μœ„ν•œ ν™˜κ²½μ„ 제곡

λ™μΌν•˜κ²Œ μž‘μ„±λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λΌλ„ μ‹€ν–‰ν•˜λŠ” ν™˜κ²½μ΄ 달라지면 μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ§Œμ•½, Java 11μ—μ„œλ§Œ μ§€μ›ν•˜λŠ” κΈ°λŠ₯을 μ‚¬μš©ν•΄μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž‘μ„±ν–ˆλŠ”λ° λ‹€λ₯Έ 컴퓨터에 Java 11을 μœ„ν•œ JVM이 μ—†λ‹€λ©΄ λ™μž‘ν•˜μ§€ μ•Šκ²Œλ©λ‹ˆλ‹€. (λ˜‘κ°™μ΄ μ³€λŠ”λ° μ™œ μ•ˆλ˜μ§€?...)

 

λ„μ»€λŠ” μž‘μ„±λœ μ• ν”ŒμΌ€μ΄μ…˜ 뿐 μ•„λ‹ˆλΌ λ‹Ήμ‹œ 개발 ν™˜κ²½κΉŒμ§€ κ·ΈλŒ€λ‘œ λ‹΄μ•„μ„œ μ‚¬μš© μ„œλ²„μ—μ„œ μ‹€ν–‰ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— ν˜„μž¬ ν™˜κ²½μ— 상관없이 μž‘μ„±λœ κ·ΈλŒ€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

개발 ν™˜κ²½μ—μ„œ Java 11둜 κ°œλ°œν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ΄λ―Έμ§€λΌλŠ” ν˜•νƒœλ‘œ μ €μž₯ν•˜κ³  도컀 μ„œλ²„μ— μ—…λ‘œλ“œ -> μ‹€ν–‰ ν™˜κ²½μ—μ„œ ν•΄λ‹Ή 이미지λ₯Ό λ‹€μš΄λ‘œλ“œ -> 도컀 μ»¨ν…Œμ΄λ„ˆμ—μ„œ λ°”λ‘œ μ‹€ν–‰

도컀λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 2. ν™•μž₯κ³Ό μΆ•μ†Œμ— 유리

μ»¨ν…Œμ΄λ„ˆλŠ” ν•˜λ‚˜μ˜ 운영체제(OS)λ₯Ό κ³΅μœ ν•˜λ©° λ…λ¦½λœ ν™˜κ²½μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

λ§Œμ•½ μ„œλ²„ λ°©λ¬Έμžκ°€ λŠ˜μ–΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ¦μ„€ν•΄μ•Όν•œλ‹€λ©΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄μš©ν•΄ λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 늘릴 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„ μ˜ˆμ‹œλŠ” 1G 크기의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 4κ°œμ™€ 10G의 OS둜 κ΅¬μ„±λ˜μ–΄ 14G 크기의 ν™˜κ²½μ΄ κ΅¬λ™λ˜λŠ” λͺ¨μŠ΅μž…λ‹ˆλ‹€.

λ§Œμ•½ μ»¨ν…Œμ΄λ„ˆκ°€ μ•„λ‹Œ 가상머신(VM)을 μ΄μš©ν•œλ‹€λ©΄ μƒλŒ€μ μœΌλ‘œ 무거운 OSκ°€ 증섀할 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개수만큼 ν•„μš”ν•΄ 총 44G의 크기의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰λ˜κ²Œ λ©λ‹ˆλ‹€.

 

μ΄λ ‡κ²Œ μ»¨ν…Œμ΄λ„ˆλ₯Ό ν™œμš©ν•˜λ©΄ 더 가볍고 λΉ λ₯΄κ²Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 증가, κ°μ†Œ μ‹œν‚¬ 수 μžˆκ²Œλ©λ‹ˆλ‹€.

λ˜ν•œ, λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ•„λ‹Œ 각기 λ‹€λ₯Έ μ„œλΉ„μŠ€λ₯Ό μ„ΈλΆ„ν™”ν•΄μ„œ μ„œλ‘œ λ…λ¦½λœ ν™˜κ²½μ—μ„œ λ™μž‘ν•˜λŠ” MSA(Micro Service Architecture)λ₯Ό μ‹€ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

이상 도컀λ₯Ό μ‚¬μš©ν•˜λŠ” 큰 이유 2가지에 λŒ€ν•œ μ„€λͺ…μ΄μ˜€μŠ΅λ‹ˆλ‹€.

 

잘λͺ»λ˜κ±°λ‚˜ μˆ˜μ •μ΄ ν•„μš”ν•œ 뢀뢄이 μžˆλ‹€λ©΄ μ•Œλ €μ£Όμ‹œλ©΄ κ°μ‚¬ν•©λ‹ˆλ‹€!

728x90
λ°˜μ‘ν˜•