πŸ‘¨‍πŸ’» kimtongting
article thumbnail

 

 

 

 

 

Docker λž€?

DockerλΌλŠ” 것은 μ»¨ν…Œμ΄λ„ˆ 기반의 μ˜€ν”ˆμ†ŒμŠ€ 가상화 ν”Œλž«νΌμž…λ‹ˆλ‹€.

이게 λ¬΄μŠ¨μ†Œλ¦¬μΈκ°€ 싢은 뢄듀도 κ³„μ‹€κ²λ‹ˆλ‹€.

 

λ‹¨μˆœν•˜κ²Œ 이야기 ν•˜μžλ©΄, νŠΉμ • ν™˜κ²½μ΄ μ„€μ •λ˜μ–΄μžˆλŠ” νŠΉμ • ν”„λ‘œμ„ΈμŠ€λ₯Ό μ••μΆ•ν•˜μ—¬ ν•˜λ‚˜μ˜ 'μ»¨ν…Œμ΄λ„ˆ'둜 μΆ”μƒν™”ν•˜μ—¬,

μΈν„°νŽ˜μ΄μŠ€λ‘œ μ œκ³΅ν•˜λŠ” 것이죠.

 

더 쉽고 κ°„λ‹¨ν•˜κ²Œ μΆ•μ•½ν•˜μžλ©΄ κ³΅μœ μ„œλ²„μ— μ œκ°€ λ§Œλ“  섀정에 맞좘 ν”„λ‘œμ νŠΈλ₯Ό μ˜¬λ¦¬λŠ” κ²λ‹ˆλ‹€.

ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈλ₯Ό μ—¬λŸ¬ κ³³μ—μ„œ λ‹€μš΄λ°›μ•„ μ‚¬μš©ν•˜κ³  싢을 λ•Œ 인터넷망이 μ—°κ²°λ˜μ–΄μžˆκ³  Docker μ‹œμŠ€ν…œλ§Œ λ‹€μš΄λ‘œλ“œ λ˜μ–΄μžˆλ‹€λ©΄ μ–΄λ””μ„œλ“  λ‹€μš΄λ°›μ„ 수 μžˆλ‹€λŠ” μž₯점이 있죠.

 

μ‹€λ¬΄μ—μ„œλŠ” ν•˜λ‚˜μ˜ ν…œν”Œλ¦Ώμ—μ„œ 고객사에 맞게 μˆ˜μ •μ„ ν•˜λŠ” μ†”λ£¨μ…˜ μ—…μ²΄μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.

 

 

Docker 의 μ»¨ν…Œμ΄λ„ˆ

 

Docker의 μ»¨ν…Œμ΄λ„ˆ

 

Dockerμ—λŠ” μ•žμ„œ μ–ΈκΈ‰ν•œ 'μ»¨ν…Œμ΄λ„ˆ' λΌλŠ” 것이 μžˆμŠ΅λ‹ˆλ‹€.

Docker의 둜고λ₯Ό λ³΄μ‹œλ©΄ 고래 ν•œ λ§ˆλ¦¬κ°€ μ—¬λŸ¬κ°œμ˜ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ§Šμ–΄μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

이것은 DockerλΌλŠ” 엔진(고래) μœ„μ— μ• ν”Œλ¦¬μΌ€μ΄μ…˜(μ»¨ν…Œμ΄λ„ˆ)이 μ˜¬λΌκ°€ μžˆλŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

그것도 κ°œλ³„λ‘œ 말이죠!

 

κΈ°μ‘΄ μ„œλΉ„μŠ€μ™€μ˜ 차이

 

μš°λ¦¬λŠ” μ§€κΈˆκΉŒμ§€ μ„œλΉ„μŠ€λ₯Ό μœ„ν•œ VM 생성을 ν•œλ‹€κ³  ν•˜λ©΄ OS 자체λ₯Ό 가상화 ν•˜μ—¬ μƒμ„±ν–ˆμŠ΅λ‹ˆλ‹€.

μ—¬λŸ¬ 개의 μ„œλΉ„μŠ€λ₯Ό μš΄μš©ν•  경우 κ΄€λ¦¬ν¬μΈνŠΈλ₯Ό 크게 2 가지 λ°©μ‹μœΌλ‘œ λ‚˜λˆ„μ—ˆμŠ΅λ‹ˆλ‹€.

 

1. μ—¬λŸ¬ 개의 VM을 κ°œλ³„λ‘œ 생성

2. Host VM μ•ˆμ—μ„œ μ—¬λŸ¬κ°œμ˜ VM듀을 κ°œλ³„λ‘œ 생성

 

μ΄λ ‡κ²Œ 말이죠.

 

λŒ€ν‘œμ μΈ μž₯단점을 λ‚˜μ—΄ν•΄λ³΄λ©΄ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

 

[Guest VM]

-μž₯점 : κ°œλ³„ ν”„λ‘œμ„ΈμŠ€

(독립적기 λ•Œλ¬Έμ— νŠΉμ • μ„œλΉ„μŠ€ 및 ν”„λ‘œμ„ΈμŠ€ λ‹€μš΄ μ‹œ 볡ꡬ에 용이 λ‹€λ₯Έ μ„œλΉ„μŠ€ κ°„ 영ν–₯도 μ—†μŒ)

-단점 : 관리 배포의 어렀움 (관리 배포 μ‹œ, ν•˜λ‚˜ μ”© κ°œλ³„λ‘œ 접속)

 

[Host VM]

-μž₯점 : κ΄€λ¦¬ 배포의 μš©μ΄μ„±

-단점 : μžμ› 곡유

(GuestVMμ—μ„œ Host의 CPUμ½”μ–΄, λ©”λͺ¨λ¦¬, μž‘μ—… μ˜μ—­ λ“± μžμ›μ„ κ°€μ Έκ°€κΈ° λ•Œλ¬Έμ— ν”ΌμΉ˜λͺ»ν•  손싀이 λ°œμƒ)

 

 

두 가지 방식 λͺ¨λ‘ μž₯·λ‹¨μ μ΄ μ‘΄μž¬ν•˜λŠ”λ° DockerλŠ” 이 두 가지 방식을 ν˜Όν•©ν•˜μ—¬ μž₯점듀을 λͺ¨λ‘ ν‘μˆ˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  VM듀을 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‹¨μœ„λ‘œ μΌλΆ€λ§Œ νŒ¨ν‚€μ§•ν•˜μ—¬(κ²½λŸ‰ν™”) Docker의 엔진 μœ„μ— 'μ»¨ν…Œμ΄λ„ˆ'둜 κ΅¬λ™λ©λ‹ˆλ‹€.

그리고 OS μžμ›μ„ κ³΅μœ ν•˜λŠ” 것이죠.

 

μ»¨ν…Œμ΄λ„ˆλŠ” λ…λ¦½μ μ΄λ―€λ‘œ μ„œλ‘œ 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šκ³  μ‹€ν–‰λ©λ‹ˆλ‹€.

 

 

Docker의 이미지

방법과 상관없이 OS λ₯Ό ν•œ λ²ˆμ΄λΌλ„ 직접 μ„€μΉ˜ν•΄λ³΄μ‹  뢄듀은 iso νŒŒμΌμ„ 접해보셨을 κ²λ‹ˆλ‹€.

OS의 μ„€μ •νŒŒμΌ, μ‹€ν–‰νŒŒμΌ, μƒνƒœ 및 κΈ°λ³Έ 데이터 λ“±..

 

Docker의 이미지가 μ‹€ν–‰λœκ²Œ λ°”λ‘œ μœ„μ— μžˆλŠ” 'μ»¨ν…Œμ΄λ„ˆ' μž…λ‹ˆλ‹€. 

 

Docker의 이미지가 μ‹€ν–‰λ˜λ©΄ μ•žμœΌλ‘œμ˜ λͺ¨λ“  μˆ˜μ •κ³Ό μΆ”κ°€ μ‚­μ œλŠ” 이 'μ»¨ν…Œμ΄λ„ˆ' μ•ˆμ—μ„œλ§Œ 이루어 μ§‘λ‹ˆλ‹€.

 

톰캣을 λΉ—λŒ€μ–΄ μ„€λͺ…ν•˜μžλ©΄ μ΄λ―Έμ§€λŠ” war파일이고, λΉŒλ“œλ˜μ–΄ μƒμ„±λœ 디렉토리가 λ°”λ‘œ 'μ»¨ν…Œμ΄λ„ˆ' μž…λ‹ˆλ‹€.

 

예λ₯Ό λ“€μ–΄ index.html 파일의 <Title>νƒœκ·Έ 속 데이터가 'TEST' μ˜€κ³ , 이 데이터λ₯Ό 'Change' 둜 λ³€κ²½ν•  경우,

<Title> νƒœκ·Έμ˜ 값은 'Change' κ°€ λ˜μ§€λ§Œ, 컴파일 및 λΉŒλ“œλœ 디렉토리λ₯Ό μ‚­μ œν•˜κ³  재 κ΅¬λ™ν•˜λ©΄

λ‹€μ‹œ 'TEST' κ°€ λ˜μ–΄μžˆλŠ” 것과 κ°™μŠ΅λ‹ˆλ‹€.

 

 

 

 

 

 

 

 

 

 

 

λ°˜μ‘ν˜•
profile

πŸ‘¨‍πŸ’» kimtongting

@kimtongting μž…λ‹ˆλ‹€

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!