μƒˆμ†Œμ‹

IT & Security/Web

도컀(Docker)λž€?

  • -
λ°˜μ‘ν˜•

 

좜처: https://subicura.com

 

도컀가 λ‚˜μ˜€κΈ° 이전에 λŒ€λΆ€λΆ„μ˜ μ„œλΉ„μŠ€ ν™˜κ²½μ€ 물리적인 μ„œλ²„λ₯Ό 직접 μš΄μ˜ν•˜λŠ” 방식 μ΄μ˜€μœΌλ©°,

μ„œλ²„ κ΅¬μž…κ³Ό μš΄μ˜κΉŒμ§€ λ§Žμ€ λΉ„μš© 및 μ‹œκ°„μ΄ μ†Œλͺ¨ λ˜μ—ˆλ‹€. μ΄λŸ¬ν•œ λ¬Έμ œμ μ€ 좔후에 가상화가 λ°œμ „ν•˜λ©΄μ„œ ν΄λΌμš°λ“œ ν™˜κ²½μ΄ λ“±μž₯ν•˜μ—¬ 일정 λΆ€λΆ„ ν•΄μ†Œκ°€ λ˜μ—ˆλ‹€.

개발 ν”„λ‘œκ·Έλž¨μ˜ λ°œμ „μœΌλ‘œ κ°œλ°œμ£ΌκΈ°κ°€ μ§§μ•„μ§€λ©΄μ„œ λ°°ν¬λŠ” 더 자주 이뀄지고 κ΄€λ¦¬λŠ” λ”μš± λ³΅μž‘ν•΄μ‘Œλ‹€. μƒˆλ‘œμš΄ λ£°κ³Ό ν΄λΌμš°λ“œμ˜ λ°œμ „μœΌλ‘œ μ„€μΉ˜ν•΄μ•Ό ν•  μ„œλ²„κ°€ 점점 λŠ˜μ–΄λ‚¨μ— 따라 μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 도컀가 λ“±μž₯ν•œλ‹€.

 

 

도컀(Docker)λŠ” 2013λ…„ 3μ›” 13일 λ°œν‘œλœ, λ¦¬λˆ…μŠ€μ˜ μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ„ μ†Œν”„νŠΈμ›¨μ–΄ μ»¨ν…Œμ΄λ„ˆ μ•ˆμ— λ°°μΉ˜μ‹œν‚€λŠ” 일을

μžλ™ν™” ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ 가상화 ν”Œλž«νΌμ΄λ‹€. μ»¨ν…Œμ΄λ„ˆλŠ” 격리된 κ³΅κ°„μ—μ„œ ν”„λ‘œμ„ΈμŠ€κ°€ λ™μž‘ν•˜λŠ” κΈ°μˆ μ„ λ§ν•œλ‹€.

이 κΈ°μˆ μ€ 기쑴의 가상화 방식듀과 차이가 μžˆλ‹€.

 

VirtualBox, VMware와 같은 기쑴의 가상머신은 ν•˜μ΄νΌλ°”μ΄μ €(Hypervisor)λ₯Ό μ΄μš©ν•΄ 호슀트 OSμœ„μ— 게슀트 OSλ₯Ό 가상화 ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 방식이닀. 이 방식은 비ꡐ적 μ‚¬μš©λ²•μ΄ κ°„λ‹¨ν•˜μ§€λ§Œ, 속도가 느리고 λ¬΄κ²λ‹€λŠ” 단점이 μžˆλ‹€.

μ΄λŸ¬ν•œ 단점을 κ°œμ„ ν•˜κ³ μž ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²©λ¦¬μ‹œν‚€λŠ” 방식이 λ“±μž₯ν•œλ‹€.

λ¦¬λˆ…μŠ€μ—μ„œλŠ” 이 방식을 λ¦¬λˆ…μŠ€ μ»¨ν…Œμ΄λ„ˆλΌκ³  ν•˜λ©°, λ‹¨μˆœνžˆ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²©λ¦¬μ‹œν‚€κΈ° λ•Œλ¬Έμ— 가볍고 λΉ λ₯΄κ²Œ λ™μž‘ν•œλ‹€.

 

또 CPUλ‚˜ λ©”λͺ¨λ¦¬λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ ν•„μš”ν•œ 만큼만 μžμ›μ„ μ‚¬μš©ν•˜λ―€λ‘œ μ„±λŠ₯도 손싀이 거의 μ—†λ‹€.

 

 

좜처: https://www.docker.com/resources/what-container

 

 

λ„μ»€μ—μ„œ κ°€μž₯ μ€‘μš”ν•˜κ²Œ λ‹€λ£¨λŠ” κ°œλ…μ€ 이미지와 μ»¨ν…Œμ΄λ„ˆλ‹€.

μ΄λ―Έμ§€λŠ” μ»¨ν…Œμ΄λ„ˆ 싀행에 ν•„μš”ν•œ 파일과 μ„€μ • κ°’ 등을 ν¬ν•¨ν•˜κ³  있으며 μƒνƒœ 값을 가지지 μ•Šκ³  λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€.

즉 μ»¨ν…Œμ΄λ„ˆλŠ” 이미지λ₯Ό μ‹€ν–‰ν•œ μƒνƒœλΌκ³  λ³Ό 수 있으며 μΆ”κ°€λ˜κ±°λ‚˜ λ³€ν•˜λŠ” κ°’ μ •λ³΄λŠ” μ»¨ν…Œμ΄λ„ˆμ— μ €μž₯λœλ‹€.

 

같은 μ΄λ―Έμ§€μ—μ„œ μ—¬λŸ¬ 개의 μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ©°, μ»¨ν…Œμ΄λ„ˆκ°€ μ‚­μ œ ν˜Ήμ€ λ³€κ²½ λœλ‹€ ν•˜λ”λΌλ„ μ΄λ―Έμ§€λŠ” λ³€ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ λ‚¨μ•„μžˆλ‹€. λ§Œμ•½ μƒˆλ‘œμš΄ μ„œλ²„λ₯Ό μΆ”κ°€ν•˜λ €λ©΄ 미리 λ§Œλ“€μ–΄ 놓은 이미지λ₯Ό λ‹€μš΄λ‘œλ“œ ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±λ§Œ ν•˜λ©΄ κ°„νŽΈν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ‹€.

 

좜처: https://medium.com/platformer-blog/practical-guide-on-writing-a-dockerfile-for-your-application-89376f88b3b5

 

도컀 κ΅¬μ‘°μ—μ„œλŠ” 파일 μ‹œμŠ€ν…œ 각각이 이미지이닀. μ΄λ―Έμ§€λŠ” νŒŒμΌμ‹œμŠ€ν…œλ“€μ˜ λ ˆμ΄μ–΄λ‘œ λ§Œλ“€μ–΄μ Έ μžˆλ‹€.

도컀 μ΄λ―Έμ§€λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•œ 정보λ₯Ό λͺ¨λ‘ 가지고 있기 λ•Œλ¬Έμ— μš©λŸ‰μ΄ 크닀.

처음 이미지λ₯Ό λ‹€μš΄ 받을 λ•ŒλŠ” 크게 뢀담이 μ•ˆλ˜μ§€λ§Œ 파일이 κ³„μ†ν•΄μ„œ μΆ”κ°€λœλ‹€λ©΄ 맀우 λΉ„νš¨μœ¨μ μΌ μˆ˜λ°–μ— μ—†λ‹€.

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ ˆμ΄μ–΄λΌλŠ” κ°œλ…μ΄ μ‚¬μš©λ˜μ—ˆλ‹€.

 

λ„μ»€λŠ” 이미지듀을 μ„œλ‘œ μœ„μ— λ ˆμ΄μ–΄ μ‹œν‚€λŠ” ꡬ쑰둜 λ˜μ–΄μžˆλ‹€. λ² μ΄μŠ€κ°€ λ˜λŠ” 이미지λ₯Ό λΆ€λͺ¨ 이미지라 ν•˜λ©° 맨 μœ„μ˜ 이미지뢀터 κ°€μž₯ 끝 μ΄λ―Έμ§€κΉŒμ§€ νš‘λ‹¨ν•˜λŠ” ꡬ쑰둜 이루어 진닀. λͺ¨λ“  read-only νŒŒμΌμ‹œμŠ€ν…œλ“€μ΄ mountκ°€ 되고 도컀 μ»¨ν…Œμ΄λ„ˆκ°€ μ΄λ―Έμ§€λ‘œλΆ€ν„° μ‹œμž‘λ  λ•Œ λ„μ»€λŠ” λ§ˆμ§€λ§‰μœΌλ‘œ read-write 파일 μ‹œμŠ€ν…œμ„ 파일 μ‹œμŠ€ν…œ layer 맨 μœ„μ— mountν•œλ‹€.

 

read-write으둜 μ˜¬λ €λ†“λŠ” μ΄μœ λŠ” read-write 파일 μ‹œμŠ€ν…œμ— μ»¨ν…Œμ΄λ„ˆκ°€ ν•„μš”ν•œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜κ³  μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œμ΄λ‹€. μ΄λŸ¬ν•œ 방식을 copy on write라고 ν•˜λ©°, 이 λ°©μ‹μœΌλ‘œ 도컀 이미지λ₯Ό λΉŒλ“œ ν•  λ•Œ 맀우 효과적이고 λΉ λ₯΄κ²Œ λΉŒλ“œ ν•  수 μžˆλ‹€.

 

좜처: https://0902.tistory.com/22

 

 


μ°Έκ³  μ‚¬μ΄νŠΈ

https://changhyunit.tistory.com/58
(Docker 가상화)

https://cultivo-hy.github.io/docker/image/usage/2019/03/14/Docker%EC%A0%95%EB%A6%AC/
(Docker κ°œλ… 및 μ‚¬μš©λ²•)

https://www.daleseo.com/docker-run/
(Docker run λͺ…λ Ήμ–΄)

https://www.joinc.co.kr/w/man/12/logrotate
 (logrotate file)

http://forum.falinux.com/zbxe/index.php?mid=lecture_tip&document_srl=806457
(image μ œμž‘ν•˜κΈ°)


 

κ°•μ˜ /ν”„λ‘œμ νŠΈ? μ—μ„œ λ‹€λ£¨λŠ” λ‚΄μš©μΈλ°, μ•žμœΌλ‘œ μžμ„Ένžˆ μ°¨μ°¨ μ˜¬λ €λ³Όκ²Œμš”! μœ„ μ‚¬μ΄νŠΈ 듀을 μ°Έκ³ ν•˜μ‹œλ©΄, λ”μš± μžμ„Έν•œ λ‚΄μš©μ„ μ‚΄νŽ΄λ³΄μ‹€ 수 μžˆμ–΄μš”.

λ°˜μ‘ν˜•

'IT & Security > Web' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Proxy μΈμ¦μ„œ μ„€μΉ˜ν•˜κΈ°  (0) 2021.01.12
Node.js μ„€μΉ˜ν•˜κΈ°  (0) 2020.11.04
mobaxterm μ‚¬μš©ν•˜κΈ°  (0) 2020.09.15
chcp μœˆλ„μš° ν•œκΈ€κΉ¨μ§ ν•΄κ²°  (0) 2020.09.10
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.