(Teaser) Docker

<aside> πŸ’‘ λ„μ»€λΌλŠ” 이름을 가진 κ·€μ—¬μš΄ κ³ λž˜λ§ˆν¬κ°€ μ—¬κΈ°μ €κΈ°μ„œ λ“±μž₯ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. 이 κ·€μ—¬μš΄ κ³ λž˜κ°€ ν•˜λŠ” 일에도 λ§Žμ€ μ‚¬λžŒλ“€μ΄ 관심을 가지고 μ§€μΌœλ³΄κ³  μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ, 도컀가 뭔지 μ œλŒ€λ‘œ μ•Œμ•„λ³΄κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.

</aside>

β–  λ„μ»€λŠ” OOλ‹€

"λ„μ»€λŠ” μ»¨ν…Œμ΄λ„ˆμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜κ³  μš΄μ˜ν•  수 μžˆλ„λ‘ ν•˜λŠ” ν”Œλž«νΌμ΄λ‹€."

λ„μ»€λŠ” 2019/2020 Stack Overflowμ—μ„œ μ§„ν–‰ν•œ μ„€λ¬Έμ‘°μ‚¬μ—μ„œ 'Most Wanted Platform' λΆ€λ¬Έμ—μ„œ 1μœ„λ₯Ό μ°¨μ§€ν–ˆμŠ΅λ‹ˆλ‹€. (μ—°κ΄€ 기술인 Kubernetes의 경우 3μœ„λ₯Ό μ°¨μ§€ν–ˆλ„€μš”.) μ΄λŠ” λͺ¨λ“  뢄야에 걸쳐 λ„μ»€μ˜ μ“°μž„μƒˆκ°€ 널리 ν™•μž₯되고 μžˆλ‹€λŠ” μ˜λ―Έμ™€ ν•¨κ»˜, 경쟁λ ₯ μžˆλŠ” 개발자/μ•„ν‚€ν…νŠΈλ‘œ μ„±μž₯ν•˜λŠ” 데에 μžˆμ–΄ ν•™μŠ΅ν• λ§Œν•œ κ°€μΉ˜κ°€ μžˆλ‹€λŠ” 메세지λ₯Ό λ˜μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

β–  λ§ˆμ΄κ·Έλ ˆμ΄μ…˜

λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ€ λͺ¨λ“  μ‹œμŠ€ν…œ λ‹΄λ‹Ήμžμ˜ μˆ™λͺ…μ΄μž 고톡이고 λ³΄λžŒμž…λ‹ˆλ‹€. μ‹œκ°„μ΄ μ§€λ‚˜κ³  ν”„λ‘œκ·Έλž¨μ΄ κ³ λ„ν™”λ˜λ©΄ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ΄ ν•„μš”ν•œ μ‹œμ μ΄ λΆ„λͺ…νžˆ 였게 λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ μ„œλΉ„μŠ€μ— 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠμœΌλ©΄μ„œ μ €λΉ„μš©μœΌλ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ„ ν•˜λŠ” 것이 μ΅œμ„ μ΄μ§€λ§Œ 말처럼 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€μŒ 두 κ°€μ§€μ˜ μ˜΅μ…˜μ„ μ‚΄νŽ΄λ΄…μ‹œλ‹€.

IaaS : Infrastructure as a Service PaaS : Platform as a Service

μœ„ 두 가지 λͺ¨λ‘ μž₯단점이 λšœλ ·ν•©λ‹ˆλ‹€. IaaSλ₯Ό ν™œμš©ν•  경우, μ—¬λŸ¬ 개의 가상 머신을 두고 각 가상 머신에 ν•„μš”ν•œ μ»΄ν¬λ„ŒνŠΈλ₯Ό μ˜¬λ¦½λ‹ˆλ‹€. μ»΄ν¬λ„ŒνŠΈλ³„ ν™˜κ²½μ„ μ»€μŠ€ν„°λ§ˆμ΄μ§• ν•  수 있기 λ•Œλ¬Έμ— 이식성은 μ’‹μ§€λ§Œ λΆˆν•„μš”ν•œ μžμ› μ‚¬μš©μ— λŒ€ν•œ λΉ„μš©μ΄ μ¦κ°€ν•˜λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€. 그럼 PaaSλŠ” μ–΄λ–¨κΉŒμš”? ν΄λΌμš°λ“œ μ„œλΉ„μŠ€μ—μ„œ μ œκ³΅ν•˜λŠ” ν”Œλž«νΌμ„ μ‚¬μš©ν•˜λŠ” 것은 λΉ„μš©λ„ μ €λ ΄ν•˜κ³  관리도 μ‰½μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ νŠΉμ • ν΄λΌμš°λ“œ μ„œλΉ„μŠ€μ— μ’…μ†λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 타 μ„œλΉ„μŠ€λ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ ν•˜λŠ” 일은 λ§Œλ§Œν•œ μž‘μ—…μ΄ μ•„λ‹™λ‹ˆλ‹€.

μœ„ 두 κ°€μ§€μ˜ 단점을 λ³΄μ™„ν•˜κΈ° μœ„ν•œ κ΅¬μ›νƒ€μžκ°€ λ°”λ‘œ λ„μ»€μž…λ‹ˆλ‹€. 이식성이 μ’‹μœΌλ©΄μ„œλ„ λ¦¬μ†ŒμŠ€ μ‚¬μš©μ— λŒ€ν•œ λΉ„μš©μ„ 쀄일 수 있기 λ•Œλ¬Έμ΄μ£ . κ°€λ Ή AWSμ—μ„œ μš΄μ˜ν•˜λ˜ ν”„λ‘œκ·Έλž¨μ„ MS Azure둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ ν•˜λŠ” 경우, μ†ŒμŠ€μ½”λ“œλ₯Ό κ³ μΉ˜μ§€ μ•Šκ³ λ„ μ•ˆμ •μ μœΌλ‘œ μ‹œμŠ€ν…œ 운영이 κ°€λŠ₯ν•©λ‹ˆλ‹€.


β–  "Hello, Docker!"

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό 처음 배울 λ•Œ μ½˜μ†” 창에 처음 Hello, World! λ₯Ό λ„μ› λ˜ 기얡이 μƒμƒν•©λ‹ˆλ‹€.

κ·Έ 감격을 도컀λ₯Ό 톡해 느껴보렀고 ν•©λ‹ˆλ‹€. 일단 도컀λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ‹Ήμ—°νžˆ ν™˜κ²½μ„ μ„ΈνŒ…ν•΄μ•Ό ν•˜λŠ”λ°, ν•„μžλŠ” Mac OS/Window μ—μ„œ VMwareλ₯Ό μ‹€ν–‰ν•˜μ—¬ 가상머신을 생성 ν›„, Ubuntu Serverλ₯Ό μ„€μΉ˜ν•˜μ—¬ μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

1-1. Mac + VMware Fusion Player + Ubuntu Server

VMware 의 곡식 μ‚¬μ΄νŠΈμ— μ ‘μ†ν•˜λ©΄ 비상업적 λͺ©μ μ˜ 개인 μ‚¬μš©μžλ₯Ό μœ„ν•œ VMware Fusion Player 을 무료둜 μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. Ubuntu λ¦¬λˆ…μŠ€μ˜ 경우, 카카였 미러 νŽ˜μ΄μ§€μ—μ„œ λ‹€μš΄λ°›μ„ 수 있으며 Server λ°°ν¬νŒμ„ λ‹€μš΄λ‘œλ“œ λ°›μœΌλ©΄ λ©λ‹ˆλ‹€.

μ„€μΉ˜κ°€ μ™„λ£Œλ˜λ©΄ λ‹€μŒμ˜ κ°€μ΄λ“œμ— 따라 SSH λ°©μ‹μœΌλ‘œ Host OSμ—μ„œ Guest OS(Ubuntu Server)에 μ ‘μ†ν•©λ‹ˆλ‹€.