|
๐ฅ Virtual Machine (VM)
|
๐ณ Docker Container
|
์ ์
|
๊ฐ์ ๋จธ์ (Virtual Machine)์ ๋ฌผ๋ฆฌ์ ์ธ ํ๋์จ์ด ์์(CPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ)์ ์ํํธ์จ์ด๋ก ๊ฐ์ํํ ํ๊ฒฝ์ผ๋ก, ๋
๋ฆฝ์ ์ธ ์ด์์ฒด์ ๋ฅผ ์คํํ ์ ์๋ ์ปดํจํ
๋จ์๋ฅผ ์๋ฏธ |
์ ์ ๋์ปค(Docker)๋ ์ ํ๋ฆฌ์ผ์ด์
์คํ์ ํ์ํ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ๋ฑ์ ํ๋์ ์ปจํ
์ด๋์ ํจํค์งํ์ฌ ๊ฐ๋ณ๊ณ ์ด์์ฑ ๋์ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํ๋ซํผ |
| ๊ตฌ์ฑ ๋ฐ ๋์ ๋ฐฉ์ |
- ํ์ดํผ๋ฐ์ด์ (Hypervisor)๋ฅผ ์ด์ฉํ์ฌ ํ๋์ ํธ์คํธ ์์คํ
์์ ๋ค์์ ๊ฒ์คํธ ์ด์์ฒด์ ์คํ
- ๊ฐ ๊ฒ์คํธ OS๋ **๋
๋ฆฝ๋ ์์คํ
์์(CPU, ๋ฉ๋ชจ๋ฆฌ, ์ ์ฅ์ ๋ฑ)**์ ํ ๋น๋ฐ์ผ๋ฉฐ, ๋ค๋ฅธ ๊ฒ์คํธ OS์ ์์ ํ ๊ฒฉ๋ฆฌ๋์ด ๋์
- ์ด๋ ํ์ดํผ๋ฐ์ด์ ๋ ํ๋์จ์ด์ ๊ฐ์ ๋จธ์ ์ฌ์ด์์ ์์์ ๊ด๋ฆฌํ๊ณ , ๊ฐ์ํ๋ฅผ ์คํํ๋ ํต์ฌ ๊ตฌ์ฑ ์์
|
- ๋ฆฌ๋
์ค์ ์ปค๋ ๊ธฐ๋ฅ์ธ Namespace, cgroups, chroot ๋ฑ์ ํ์ฉํ์ฌ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ(์ปจํ
์ด๋)์ ์ ๊ณต
- VM๊ณผ ๋ฌ๋ฆฌ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ, ํธ์คํธ OS์ ์ปค๋์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ์์ค์ด ๊ฑฐ์ ์์.
- ์ปจํ
์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๊ทธ ์์กด์ฑ๋ง ํฌํจํ๋ฉฐ, ๋ณ๋์ ์ด์์ฒด์ ๋ฅผ ํฌํจํ์ง ์์ผ๋ฏ๋ก ๋ฐฐํฌ ์ฉ๋์ด ์๊ณ ์คํ ์๋๊ฐ ๋น ๋ฆ.
|
| ํน์ง |
- ๊ฒ์คํธ OS์๋ ์ด์์ฒด์ ์ปค๋ ๋ฐ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ด, ๋ฐฐํฌ ์ฉ๋์ด ํฌ๊ณ ์ฑ๋ฅ ์์ค์ด ๋ฐ์ํ ์ ์๋ค.
- ์์ ํ ๊ฒฉ๋ฆฌ ํ๊ฒฝ์ ์ ๊ณตํ๋ฏ๋ก ๋ณด์์ฑ๊ณผ ์์ ์ฑ์ด ๋ฐ์ด๋๋ฉฐ, ์๋ก ๋ค๋ฅธ ์ด์์ฒด์ ๋ฅผ ๋์์ ์คํํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
|
- ๊ฒฝ๋ํ๋ ํ๊ฒฝ ๊ตฌ์ฑ ๊ฐ๋ฅ
- VM๋ณด๋ค ๋ฆฌ์์ค ์๋น๊ฐ ์ ๊ณ , ๊ฐ๋ฐ, ํ
์คํธ, ๋ฐฐํฌ ์๋๊ฐ ๋น ๋ฆ
- ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ฅผ ํตํด ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ์์ฌ์ด ๋กค๋ฐฑ ๊ฐ๋ฅ
|
| ์ฅ์ |
- ํธ์คํธ์ ์์ ํ ๋ถ๋ฆฌ๋ ํ๊ฒฝ ์ ๊ณต
- ๋ค์ํ ์ด์์ฒด์ ๋ฅผ ์ ํํ์ฌ ์ค์น ๊ฐ๋ฅ (์: Ubuntu, CentOS, Windows ๋ฑ)
- Docker์ ๋นํด ๋ ๊ฐ๋ ฅํ ๊ฒฉ๋ฆฌ ๋ฐ ๋ณด์์ฑ ์ ๊ณต
|
- ๋น ๋ฅธ ์์ ๋ฐ ๋ฐฐํฌ, ๋์ ์ด์์ฑ (Portability)
- ์์ ์๋น๊ฐ ์ ์ด ๋๊ท๋ชจ ์๋น์ค ์ด์์ ์ ํฉ
- ์ด๋ฏธ์ง ๊ณต์ ๋ฐ ํ์
์ฉ์ด (Docker Hub ๋ฑ)
|
| ๋จ์ |
- ๊ฒ์คํธ OS๋ฅผ ํฌํจํ๋ฏ๋ก ์์ ์๋ชจ๊ฐ ํฌ๊ณ ์คํ ์๋๊ฐ ๋๋ฆด ์ ์์
- ๋ฐฐํฌ ๋ฐ ๋ถํ
์๊ฐ์ด ์๋์ ์ผ๋ก ๋๋ฆผ
|
- ์ปค๋์ ๊ณต์ ํ๋ฏ๋ก VM์ ๋นํด ๋ณด์ ๋ฐ ๊ฒฉ๋ฆฌ ์์ค์ด ๋ฎ์
- ํธ์คํธ OS์ ์ข
์์ ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ํ ์ด์์ฒด์ ํ๊ฒฝ์ ๋์์ ์คํํ๊ธฐ๋ ์ด๋ ค์
|
โ
๋น๊ต ์ ๋ฆฌ
ํญ๋ชฉ Virtual Machine (VM) Docker Container
| ์ปค๋ |
๋
๋ฆฝ์ ์ธ OS ์ปค๋ ํฌํจ |
ํธ์คํธ OS ์ปค๋ ๊ณต์ |
| ์คํ ์๋ |
๋๋ฆผ (์ค๋ฒํค๋ ์กด์ฌ) |
๋น ๋ฆ (๊ฒฝ๋ ๊ตฌ์กฐ) |
| ๋ฐฐํฌ ์ฉ๋ |
ํผ |
์์ |
| ๊ฒฉ๋ฆฌ ์์ค |
๋์ |
๋ฎ์ |
| ์ด์์ฒด์ ๋ค์์ฑ |
์์ ๋ก์ (Windows, Linux ๋ฑ ํผ์ฉ ๊ฐ๋ฅ) |
์ ํ์ (ํธ์คํธ์ ๊ฐ์ ์ปค๋ ์ฌ์ฉ) |
| ๋ณด์์ฑ |
์๋์ ์ผ๋ก ๊ฐํจ |
์ ํ์ |
| ์ฌ์ฉ ์ฌ๋ก |
OS ๊ฒฉ๋ฆฌ ํ์, ๋ณด์ ์ค์ ์ |
๋น ๋ฅธ ๊ฐ๋ฐ·๋ฐฐํฌ, ๋ง์ดํฌ๋ก์๋น์ค |
๊ฒฐ๋ก
- ์๋ก ๋ค๋ฅธ ์ด์์ฒด์ ํ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ๋ ๊ฐ๋ ฅํ ๊ฒฉ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ VM์ด ์ ํฉ
- ๋ฐ๋ฉด์, ๋น ๋ฅธ ๋ฐฐํฌ, ๊ฒฝ๋ํ๋ ์คํ ํ๊ฒฝ, ๋์ ์ด์์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ์๋ Docker๊ฐ ๋ ํจ์จ์ ์ธ ์ ํ