Docker ๋ฐ IBM ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค Basic

๋ฌผ๊ฑด์„ ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ํ‘œ์ค€ํ™”๋œ ๋‹จ์œ„์— ๋‹ด์•„์„œ ์šด๋ฐ˜ํ•˜๊ฒŒ ๋˜๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์ด์ ์ด๋ผ๋ฉด ํŠธ๋Ÿญ ํ˜น์€ ๋ฐฐ ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์ฐจ๋‚˜ ๋น„ํ–‰๊ธฐ ๋“ฑ์˜ ์šด์†ก์ˆ˜๋‹จ ๋ณ„ ๊ณ ๋ ค์‚ฌํ•ญ์ด ์ค„์–ด ๋ฌผ๊ฑด ์šด๋ฐ˜์˜ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ดํ„ฐ๋ฅผ ์‹ฃ๊ฑฐ๋‚˜ ๋‚˜๋ฅด๋Š” ๊ธฐ๊ตฌ๋“ค์ด ํ‘œ์ค€ํ™”๋˜์–ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ค€๋น„ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ์šด์˜ ํšจ์œจ์„ฑ์ด ํ–ฅ์ƒ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ์ฒ˜๋Ÿผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒจํ‚ค์ง• ํ•  ๋•Œ๋„ ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ๊ธฐ์ˆ , ํŠนํžˆ Docker์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ์˜ ํšจ์œจ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ์ ๋“ค์„ ์ปจํ…Œ์ดํ„ฐ์— ๋‹ด์•„์„œ ์ด๋ฅผ ๋ฐฐํฌํ•  ๋•Œ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. Docker์ปจํ…Œ์ด๋„ˆ ๋ฐ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Docker๋ž€?

Docker๋Š” Linux์˜ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด์„œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ด์‹์„ฑ(portability)์„ ํ–ฅ์ƒ ์‹œ์ผœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ์˜ ํšจ์œจ์„ฑ์„ ๋†’์—ฌ ์ฃผ๊ณ  ๋ฒค๋”์— ์ข…์†๋˜์ง€ ์•Š๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค. Linux์˜ ์ปจํ…Œ์ดํ„ฐ ๊ธฐ์ˆ ์€ ์˜ค๋ž˜์ „๋ถ€ํ„ฐ ์žˆ์—ˆ๊ณ  ๋ณดํŽธํ™”๋œ ๊ธฐ์ˆ ์ด์ง€๋งŒ Docker๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๊ณ  ๊ณต๊ฐœ๋œ ์ €์žฅ์†Œ(Docker Hub)์— ์ €์žฅํ•˜๊ณ  ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์‚ฌ์šฉ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

โ€ข ์˜คํ”ˆ ์†Œํ”„ํŠธ์›จ์–ด
โ€“ 2013๋…„ 3์›” ์ถœ์‹œ
โ€“ 20์–ต ๋‹ค์šด๋กœ๋“œ (Docker images)
โ€ข ๊ณต๊ฐœ ๊ธฐ์—ฌ
โ€“ 2000+ ๊ธฐ์—ฌ์ž
โ€“ 2๋ฒˆ์งธ๋กœ ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ํ”„๋กœ์ ํŠธ
โ€“ 58๊ฐœ ๊ตญ๊ฐ€, 185๊ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ meet-up ๊ทธ๋ฃน
โ€ข ์˜คํ”ˆ ๋””์ž์ธ
โ€“ IBM, Red Hat, Google, Microsoft, VMware, AWS, Rackspace ๋ฐ ๋‹ค์ˆ˜์˜ ๊ธฐ์—ฌ์ž๋“ค

Docker๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์†์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐœ๋ฐœ์ž์™€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๋“ค์„ ์œ„ํ•œ ์˜คํ”ˆ๋œ ํ”Œ๋žซํผ์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[ Docker ์šฉ์–ด ๊ธฐ๋ณธ]

1. Image
– ์ปจํ…Œ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๊ณต๊ณต ์ €์žฅ์†Œ(Docker Hub)์— ์ €์žฅ๋œ ์ปจํ…Œ์ด๋„ˆ์˜ ์ฝ๊ธฐ ์ „์šฉ ์Šค๋ƒ…์ƒท
2. Container
– ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ด๊ธฐ๊ณ  ์šด๋ฐ˜๋˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋‹จ์œ„
3. Docker ํ—ˆ๋ธŒ/๋ ˆ์ง€์ŠคํŠธ๋ฆฌ
– SaaSํ˜•ํƒœ์˜ ๊ณต๊ฐœ๋œ ์ €์žฅ์†Œ ๋ฐ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ธฐ์—…์˜ ํ™˜๊ฒฝ์— ๊ตฌ์„ฑ
– ์ปจํ…Œ์ด๋„ˆ Image๋“ค์„ ์ €์žฅ, ๋ฐฐํฌ, ๊ณต์œ 
4. Docker ๋ฐ๋ชฌ(Engine)
– ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ, ๋ฐฐํฌ, ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
– Public ๋ฐ Private ํด๋ผ์šฐ๋“œ ๋‚ด ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„ ๋ฐ ๊ฐ€์ƒ ์„œ๋ฒ„์—์„œ ์‹คํ–‰
– Client ํ”„๋กœ๊ทธ๋žจ์ด Docker Engine์— ์ ‘์†ํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰

[๊ธฐ์ˆ  ์•„ํ‚คํ…์ฒ˜]

Docker์˜ ์ธ๊ธฐ ๋น„๊ฒฐ์€?

ํŠนํžˆ Hybrid Cloud์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ๊ฒฝ์šฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด์‹์„ฑ์ด ๋†’์€ Docker์˜ ์ง„๊ฐ€๋Š” ๋ฐœํ˜„๋ฉ๋‹ˆ๋‹ค. Docker๊ฐ€ ์ธ๊ธฐ๋ฅผ ๋„๋Š” ์ฃผ์š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โ€ข ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ํ–ฅ์ƒ
โˆ’ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ฒŒ ํ•ด์ฃผ๊ณ  CI/CD๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ
โˆ’ ๊ฐœ๋ฐœ์ž ๋žฉํƒ‘์—์„œ ์ž๋™ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์šด์˜์‹œ์Šคํ…œ์œผ๋กœ, ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ • ์—†์ด ํ™•์žฅ(Scale) ๊ฐ€๋Šฅ
โ€ข ์ž์› ํšจ์œจ์„ฑ ํ–ฅ์ƒ
โˆ’ ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋™์ผํ•œ OS ์ปค๋„์„ ๊ณต์œ ํ•˜๋ฉฐ ๋‹จ์ผ ๋จธ์‹ ์—์„œ ์‹คํ–‰
โˆ’ ์ด๋ฏธ์ง€๋Š” ๊ณ„์ธตํ™”๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๊ณตํ†ต ํŒŒ์ผ๋“ค์„ ๊ณต์œ ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๋””์Šคํฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นจ๋ฆฌ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ.
โ€ข ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด์‹์„ฑ ํ–ฅ์ƒ
โˆ’ ๊ฐ ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, ํ•„์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ปจํ…ํŠธ, ์„ค์ • ํŒŒ์ผ์„ ํ•จ๊ป˜ ํŒจํ‚ค์ง•
โˆ’ ์ด๋Ÿฐ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ธํ”„๋ผ ํ™˜๊ฒฝ๋“ค ์‚ฌ์ด๋ฅผ ๋ฌธ์ œ์—†์ด ์ด๋™

IBM ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค
IBM์€ Docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ด์ ์— ์žฅ์ ์„ ๋” ํ•œ IBM ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€ ํš๋“์—์„œ ์œ ์ง€๊ด€๋ฆฌ๊นŒ์ง€์˜ ์ปจํ…Œ์ด๋„ˆ Life-Cycle ์ „๋ฐ˜์˜ ๊ด€๋ฆฌ์ฐจ์›์—์„œ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

IBM Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ์˜์—ญ๊ณผ ์ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด IBM์ด ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋„์‹ํ™”ํ•˜์—ฌ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IBM์€ ์‚ฌ์šฉ์ž๊ฐ€ ํ™˜๊ฒฝ์„ ์ง์ ‘ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์ˆ˜๊ณ  ์—†์ด Docker ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปจํ…Œ์ดํ„ฐ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ Private ์ €์žฅ์†Œ, ๋ณด์•ˆ ๊ฒ€์‚ฌ ๊ธฐ๋Šฅ ๋“ฑ์˜ ์ถ”๊ฐ€ ์ด์ ์„ ๋”ํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Bluemix Docs ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.:

IBM ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค ๋งํฌ
https://console.ng.bluemix.net/docs/containers/container_index.html?pos=2