🐳Docker λž€?

λ°•ν˜•μ„Β·2022λ…„ 3μ›” 18일
0

도컀

λͺ©λ‘ 보기
1/2
post-thumbnail

🐳Dokcer

μ»¨ν…Œμ΄λ„ˆ 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ좕 μ†Œν”„νŠΈμ›¨μ–΄ ν”Œλž«νΌ.

λ„μ»€λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹ μ†ν•˜κ²Œ ꡬ좕, ν…ŒμŠ€νŠΈ 및 배포할 수 μžˆλŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”Œλž«νΌμ΄λ‹€. μ»¨ν…Œμ΄λ„ˆμ—λŠ” 라이브러리, μ‹œμŠ€ν…œλ„κ΅¬, μ½”λ“œ λ“± μ†Œν”„νŠΈμ›¨μ–΄ 싀행에 ν•„μš”ν•œ λͺ¨λ“  것이 ν¬ν•¨λ˜μ–΄ μžˆλ‹€.

즉, 도컀λ₯Ό 톡해 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ©΄ 독립적인 ν™˜κ²½μ—μ„œ μΌκ΄€λœ κ²°κ³Όλ₯Ό 보μž₯ν•œλ‹€.

β›΄μ»¨ν…Œμ΄λ„ˆ


μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ‹€ν–‰ν•  λ•Œ OS와 라이브러리 μ˜μ‘΄μ„±μ„ μ§€λ‹ˆκ²Œ λœλ‹€. κ·Έλž˜μ„œ ν•˜λ‚˜μ˜ 컴퓨터에 λ‹€λ₯Έ λ²„μ „μ˜ λŸ°νƒ€μž„, 라이브러리λ₯Ό μ‹€ν–‰ ν•˜λ €κ³  ν•˜λ©΄ κ΄€λ ¨ ꡬ성을 κ΄€λ¦¬ν•˜κΈ°κ°€ μ–΄λ ΅λ‹€.

μ»¨ν…Œμ΄λ„ˆλŠ” κ°œλ³„ Software의 싀행에 ν•„μš”ν•œ μ‹€ν–‰ν™˜κ²½μ„ λ…λ¦½μ μœΌλ‘œ μš΄μš©ν•  수 μžˆλ„λ‘ λ‹€λ₯Έ μ‹€ν–‰ν™˜κ²½κ³Όμ˜ 간섭을 막고 μ‹€ν–‰μ˜ 독립성을 ν™•λ³΄ν•΄μ£ΌλŠ” μš΄μ˜μ²΄κ³„ μˆ˜μ€€μ˜ 격리 κΈ°μˆ μ΄λ‹€.

μ»¨ν…Œμ΄λ„ˆ λ°©μ‹μ˜ μž₯점

μ˜μ‘΄μ„± 문제 ν•΄κ²°

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ°˜λ“œμ‹œ μ‹€ν–‰ν™˜κ²½μ΄ κ΅¬μΆ•λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€. AλΌλŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œ BλΌλŠ” ν”„λ‘œκ·Έλž¨μ΄ ν•„μš”ν•˜λ‹€ λΌλŠ” 것은 AλŠ” B에 의쑴 관계λ₯Ό 가지고 μžˆλ‹€ 라고 μ •μ˜ν•  수 μžˆλ‹€.

ν•˜μ§€λ§Œ

CλΌλŠ” ν”„λ‘œκ·Έλž¨μ΄ B(1.1버전)ν”„λ‘œκ·Έλž¨μ΄ ν•„μš”ν•œλ° AλΌλŠ” ν”„λ‘œκ·Έλž¨μ€ B(2.2버전)ν”„λ‘œκ·Έλž¨μ΄ ν•„μš”ν•˜λ‹€λ©΄ A와 C의 ν”„λ‘œκ·Έλž¨μ„ 같이 μ‹€ν–‰ μ‹œν‚€λŠ” 것은 μ–΄λ €μš΄ 일이닀.
μ΄λŸ°μƒν™©μ„ μ˜μ‘΄μ„±μ΄ μΆ©λŒν•œλ‹€.라고 μ •μ˜ ν•  수 μžˆλ‹€.

도컀 μ»¨ν…Œμ΄λ„ˆ κΈ°μˆ μ€ μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€. 각각의 μ»¨ν…Œμ΄λ„ˆ μ•ˆμ—μ„œ 각자 고유의 μ˜μ‘΄μ„± ν™˜κ²½μ„ κ΅¬μΆ•ν•΄μ„œ ν”„λ‘œκ·Έλž¨λ“€μ„ μ‹€ν–‰ν•  수 μžˆλ‹€.

μ»¨ν…Œμ΄λ„ˆλŠ” λ‹€μŒ 세가지λ₯Ό κ²©λ¦¬ν•˜κ³  λ…λ¦½μ μœΌλ‘œ μ†Œμœ ν•œλ‹€.

  1. ν”„λ‘œμ„ΈμŠ€
  • μ»¨ν…Œμ΄λ„ˆ μ•ˆμ—μ„œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ 영ν–₯을 쀄 수 μ—†κ³ , μžμ‹ μ΄ μ†ν•΄μžˆλŠ” μ»¨ν…Œμ΄λ„ˆ μ•ˆμ—μ„œλ§Œ ν”„λ‘œμ„ΈμŠ€κ°€ μ•‘μ„ΈμŠ€ν•  수 μžˆλ‹€.
  1. λ„€νŠΈμ›Œν¬
  • 기본적으둜 μ»¨ν…Œμ΄λ„ˆ ν•˜λ‚˜μ— ν•˜λ‚˜μ˜ IPμ£Όμ†Œκ°€ ν• λ‹Ήλ˜μ–΄ μžˆλ‹€.
  1. 파일 μ‹œμŠ€ν…œ
  • μ»¨ν…Œμ΄λ„ˆ μ•ˆμ—μ„œ μ‚¬μš©λ˜λŠ” 파일 μ‹œμŠ€ν…œμ€ κ΅¬νšν™” λ˜μ–΄μžˆλ‹€. κ·Έλž˜μ„œ ν•΄λ‹Ή μ»¨ν…Œμ΄λ„ˆμ—μ„œμ˜ λͺ…λ Ήμ΄λ‚˜ νŒŒμΌλ“±μ˜ μ•‘μ„ΈμŠ€λ₯Ό μ œν•œν•  수 μžˆλ‹€.

개발과 배포 ν™˜κ²½μ„ μΌμΉ˜μ‹œν‚¨λ‹€

κ°œλ°œμžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€κΈ° μœ„ν•΄ 보톡 λΉ„μŠ·ν•œ 개발 ν™˜κ²½μ„ κ΅¬μΆ•ν•œλ‹€.

νŠΉμ • λ²„μ „μ΄μƒμ˜ Node.js, νŠΉμ • λ²„μ „μ˜ MySQLλ“±λ“± 각자 본인의 λ‘œμ»¬μ— μ„€μΉ˜ν•˜κ³  κ°œλ°œν•œλ‹€. ν•˜μ§€λ§Œ λ‹€λ₯Έ κΈ°κΈ°λ‚˜ ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 개발 ν•˜λ €κ³  ν•˜λ©΄ κ·Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ˜μ‘΄μ„±μ— 맞게 ν™˜κ²½μ΄ μ„€μ •λ˜μ–΄μ•Ό ν•œλ‹€. λ§Œμ•½ 직원듀이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν…ŒμŠ€νŠΈ ν•˜λ €κ³  ν•˜λ©΄ μ „ μ§μ›μ˜ ν™˜κ²½μ„€μ •μ΄ ν•„μš”ν•œ 것인데 μ΄λŠ” ꡉμž₯ν•œ 노동이닀.

λ„μ»€λŠ” μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•΄μ€€λ‹€! OS에 상관없이 μ¦‰μ‹œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ ν™˜κ²½μ„ λ§Œλ“€ 수 μžˆλ‹€. 그리고 κ°œλ°œμ„ μ»¨ν…Œμ΄λ„ˆ μœ„μ—μ„œ 진행할 경우 λͺ¨λ“  κ°œλ°œνŒ€μ΄ λ™μΌν•œ ν™˜κ²½μ—μ„œ κ°œλ°œμ„ 진행할 수 μžˆλ‹€.

μ†μ‰¬μš΄ μˆ˜ν‰ν™•μž₯

ν•„μš”μ— 따라 μ„œλ²„ 컴퓨터가 μΆ”κ°€μ μœΌλ‘œ ν•„μš”ν•  경우 μ„œλ²„ν•œλŒ€λ₯Ό μ„ΈνŒ…ν•΄μ„œ 배포쀀비λ₯Ό ν•œλ‹€. μ΄λŸ¬ν•œ κ³Όμ •μ—μ„œ μ‹€ν–‰ν™˜κ²½μ„ μ „λΆ€λ‹€ λ˜‘κ°™μ΄ ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ»¨ν…Œμ΄λ„ˆκ°€ ν•„μˆ˜μ΄λ‹€. AWSλ₯Ό μ΄μš©ν•˜κ²Œ λœλ‹€λ©΄ μ΄λŸ¬ν•œ 과정도 μžλ™μœΌλ‘œ μ²˜λ¦¬ν•΄ μ€€λ‹€.

μ»¨ν…Œμ΄λ„ˆ κΈ°μˆ μ„ μ΄μš©ν•΄μ„œ μ„œλ²„μ˜ μˆ˜ν‰ν™•μž₯을 ν•˜κ³  μ‹€ν–‰ν™˜κ²½μ„ κ΅¬μΆ•ν•˜λŠ” 것을 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 도ꡬ와 ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ μ„œλ²„ λΆˆλŸ‰μ€ λ‹€λ₯Έλ‚˜λΌ 일이 λœλ‹€.

λ„μ»€μ˜ 핡심 ν‚€μ›Œλ“œ

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

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ˜μ‘΄μ„±, λ„€νŠΈμ›Œν¬ ν™˜κ²½, 파일 μ‹œμŠ€ν…œμ— ꡬ애받지 μ•Šκ³ , λ„μ»€λΌλŠ” 기술 μœ„ν•΄ 싀행될 수 μžˆλ„λ‘ λ§Œλ“  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μƒμž.

이미지

μ‹€ν–‰λ˜λŠ” λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ성을 ν•¨κ»˜ 담아놓은 ν…œν”Œλ¦ΏμΈ μ΄λ―Έμ§€λ‘œλΆ€ν„° μƒμ„±λœλ‹€. 그리고
이미지λ₯Ό μ΄μš©ν•΄μ„œ μ—¬λŸ¬ 개의 μ»¨ν…Œμ΄λ„ˆλ₯Ό 생성할 수 μžˆλ‹€.

μ΄λ―Έμ§€λŠ” κΈ°λ³Έμ΄λ―Έμ§€λ‘œ λΆ€ν„° 변경사항을 μΆ”κ°€/μ»€λ°‹ν•΄μ„œ 또 λ‹€λ₯Έ 이미지λ₯Ό λ§Œλ“€ μˆ˜λ„ μžˆλ‹€.

λ ˆμ§€μŠ€νŠΈλ¦¬

μ΄λ―Έμ§€λŠ” λ ˆμ§€μŠ€νŠΈλ¦¬μ— μ €μž₯λœλ‹€. λŒ€ν‘œμ μΈ 이미지 λ ˆμ§€μŠ€νŠΈλ¦¬λŠ” Docker Hub, Amazon ECR이 μžˆλ‹€. 도컀 CLIμ—μ„œ 이미지λ₯Ό μ΄μš©ν•΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό 생성할 λ•Œ, 호슀트 컴퓨터에 이미지가 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ κΈ°λ³Έ λ ˆμ§€μŠ€νŠΈλ¦¬λ‘œλΆ€ν„° λ‹€μš΄λ‘œλ“œ λ°›κ²Œ λœλ‹€.

μ»¨ν…Œμ΄λ„ˆμ™€ VM(virture machine)의 차이점

μ™Όμͺ½μ˜ VM은 κ΅¬μ„±μš”μ†Œμ— OSκ°€ μ‘΄μž¬ν•˜λŠ”λ° λΉ„ν•΄ 였λ₯Έμͺ½μ˜ 도컀 μ»¨λ„€μ΄λ„ˆμ—λŠ” OSλ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€.

이λ₯Ό 톡해, 각 μ»¨ν…Œμ΄λ„ˆλŠ” 호슀트 OS의 컀널을 κ³΅μœ ν•˜κ³  μžˆμŒμ„ μ§μž‘ν•  수 μžˆλ‹€.

호슀트 OS의 μž…μž₯μ—μ„œ μ»¨ν…Œμ΄λ„ˆλŠ” ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ— λΆˆκ³Όν•˜μ§€λ§Œ VM은 OSμ•ˆμ—μ„œ 또 λ‹€λ₯Έ OS을 κ°€λ™μ‹œν‚€λŠ” 것이기 λ•Œλ¬Έμ— λΆ€ν•˜λŸ‰μ΄ λ‹€λ₯΄λ‹€.

:)

profile
Better Than Yesterday

0개의 λŒ“κΈ€