๊ฐ๋
๊ฐ๋ฐ์์ ์์คํ ๊ด๋ฆฌ์๊ฐ ์ปจํ ์ด๋ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ, ๋ฐฐํฌ, ์คํํ๊ธฐ ์ํ ํ๋ซํผ
์ปจํ ์ด๋ ๊ธฐ์ ์ ๋ฆฌ๋ ์ค์์ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ค. ์ด ๋, ์ด ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์์ฉํ๋ก๊ทธ๋จ์ ๋ฐฐํฌํ๋ ๊ฒ์ ์ปจํ ์ดํ ์ํจ ๊ฒ์ด๋ค. ์๋ก์ด ๊ธฐ์ ์ ์๋์ง๋ง, ์ด๋ฅผ ํตํด ๋งค์ฐ ํธ๋ฆฌํ๊ณ ๊ฐํธํ๊ฒ ๋ฐฐํฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
์ปจํ ์ด๋ ๊ธฐ์ ์ ์๋์ ๊ฐ์ ํน์ง๋ค์ด ์๋ค.
- ์ ์ฐ์ฑ (Flexible) : ๋ณต์กํ ์ดํ๋ฆฌ์ผ์ด์ ๋ค๋ ๋ชจ๋ ์ปจํ ์ด๋ํ ํ ์ ์๋ค.
- ๊ฒฝ๋ํ (Lightweight) : ์ปจํ ์ด๋๋ ํธ์คํธ ์ปค๋์ ํ์ฉํ๊ณ ๊ณต์ ํ๋ค.
- ๋ณํ ๊ด๋ฆฌ ํธ์์ฑ (InterChangeable) : ์ ๋ฐ์ดํธ ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฆ์ ๋ฐฐํฌํ ์ ์๋ค.
- ํฌํฐ๋ธ (Portable) : ๋ก์ปฌ๋ก ๊ตฌ์ถํ๊ณ , ํด๋ผ์ฐ๋์ ๊ฐ์ํ์ ๋ฐฐ์น๊ฐ ๊ฐ๋ฅํ๊ณ , ์ด๋์๋ ์คํํ ์ ์๋ค.
- ํ์ฅ์ฑ (Scalable) : ์ปจํ ์ด๋ ๋ณต์ ๋ณธ์ ๋๋ฆฌ๊ณ ์๋ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์คํํ (Stackable) : ์๋น์ค๋ค์ ๋ํ ์์ง์ ๋๋ ์ํ์ ๋์์ธ์ด ๋งค์ฐ ์ฉ์ดํ๋ค.
์ด๋ฏธ์ง์ ์ปจํ ์ด๋
- ์ด๋ฏธ์ง
- ์ฝ๋, ๋ฐํ์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๊ฒฝ ๋ณ์ ๋ฐ ๊ตฌ์ฑ ํ์ผ ๋ฑ ์์ฉํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ ์คํ๊ฐ๋ฅ ํจํค์ง
- ์ปจํ
์ด๋
- ์ด๋ฏธ์ง์ ๋ฐํ์ ์ธ์คํด์ค
์ด ๋๊ฐ์ ๊ฐ๋ ์ ๋์ปค๋ฅผ ์ดํดํ๋ ๋ฐ ๋งค์ฐ ์ค์ํ๋ค. class๋ instance์ ์ค๊ณ๋์ด๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ด class์ ํด๋นํ๋ ๊ฒ์ด ๋ฐ๋ก image์ด๋ฉฐ, ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋จ์ ์ฌ๋ฆฐ ๊ฒ์ container๋ผ ํ๋ค.
์ปจํ ์ด๋์ ๋์ ๋ฐฉ์
๊ฐ์ ๋จธ์ ๊ณผ ๋์ปค์ ์ฐจ์ด์
๊ธฐ์กด์ ์ฌ์ฉํ๋ ๊ฐ์ ๋จธ์ ์, Host OS์์ Guest OS๋ฅผ ์น์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ์ง๋ง ๋๋ฆฌ๋ค๋ผ๋ ์น๋ช ์ ์ธ ๋จ์ ์ ๊ฐ๊ณ ์๋ค. ์ด๋ฌํ ์ํฉ์ ๊ฐ์ ํ๊ธฐ ์ํด CPU ๊ฐ์ํ ๊ธฐ์ ์ ์ฌ์ฉํ KVM(Kernel-based Virtual Machine)์ด ๋ฑ์ฅํ๋ค. ํ์ง๋ง ์ฌ์ ํ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ ๊ฒ์ด Docker contatiner์ด๋ค. ์ด๋ ๋ฐ๋ก Host OS์์์ ๊ฒฉ๋ฆฌ๋งํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค.