๐ณ ๋์ปค์ ๊ฐ์ํ
1๏ธโฃ ๊ฐ์ํ ์ด์ ์ ๋ฐฉ์
- ๊ฐ์ํ ๊ธฐ์ ์ด ์๊ธฐ๊ธฐ ์ด์ ์๋ ๋๋ถ๋ถ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ(์๋ฒ)์์ ํ๋ฒ์ ํ๋์ OS๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ๋ณดํธ์ ์ธ ์ด์ ๋ฐฉ์์ด์๋ค.
- ์ด ๋ฐฉ์์ ์์ ์ ์ด์์ง๋ง ๋จ๋ ์๋ฒ ์์์ ๋ฐฉ์น์ํค๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค.
๋๋ณด๊ธฐ

๊ธฐ์กด ๋ฐฉ์์์๋ User ๊ณ์ธต์์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ Kernel ๊ณ์ธต์์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ฉฐ H/W ๊ณ์ธต์์๋ CPU์ RAM์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋๋ค.
ํ๋ก์ธ์ค
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋จ์๋ก, ๋ชจ๋ ํ๋ก์ธ์ค๋ OS๋ก๋ถํฐ ๊ณ ์ ๊ณต๊ฐ(๋ฉ๋ชจ๋ฆฌ)๋ฅผ ๋ณด์ฅ๋ฐ๋๋ค.

2๏ธโฃ ํ์ดํผ๋ฐ์ด์ ๊ฐ์ํ (Hypervisor Virtualization)
- ์์ ๊ฐ์ ๋นํจ์จ์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋์ ์ปดํจํฐ์์ ๋ค์์ ๋ ๋ฆฝ์ ์ธ OS๋ฅผ ์ด์ํ ์ ์๋ ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ ๊ฐ์ํ ๊ธฐ์ ์ด ๋ฑ์ฅํ์๋ค.
- ํ์ดํผ๋ฐ์ด์ (Hypervisor)
- ์ด์์ฒด์ ์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ๋์ผํ ๋ฌผ๋ฆฌ์ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ์ฌ ๋์์ ์คํ๋ ์ ์๊ฒ ํ๋ ์๊ท๋ชจ ์ํํธ์จ์ด ๊ณ์ธต
- ํ์ดํผ๋ฐ์ด์ ์ ์ํด ์์ฑ๋๊ณ ๊ด๋ฆฌ๋๋ ์ด์์ฒด์ ๋ฅผ Guest OS๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๊ฐ Guest OS๋ ์์ ํ ๋ ๋ฆฝ๋ ๊ณต๊ฐ๊ณผ ์์คํ ์์์ ํ ๋น๋ฐ๋๋ค.
- VMware, VirtualBox์ ๊ฐ์ ๋ํ์ ์ธ ๊ฐ์ํ ์๋น์ค๋ ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก Host OS ์ ๋ค์์ Guest OS๋ฅผ ๊ฐ์ํํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
- ํ์ง๋ง ์ด๋ ๊ฒ ์ฌ๋ฌ Guest OS๋ฅผ ๊ฐ์ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๊ธฐ์ ์ ์ผ๋ก ๋ฌด๊ฑฐ์์ง๋ ๋จ์ ์ด ์๋ค.
- ๊ฐ๊ฐ์ OS๋ค์ ์ํด ๋งค๋ฒ ์์์ ํ ๋น ํด์ผํ๊ธฐ๋๋ฌธ์ ๋ณด๋ค ๋ง์ ์๊ฐ๊ณผ ๋ฆฌ์์ค๊ฐ ์์
- ๊ฐ์ ๋จธ์ ์ ๋ฐฐํฌํ ๋, Guest OS๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ปค๋ ๋ฑ์ ์ ๋ถ ํฌํจํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฉ๋์ด ๋งค์ฐ ์ปค์ง๋ค.
3๏ธโฃ ์ปจํ ์ด๋ ๊ฐ์ํ (Container Virtualization)
- ์์ ๊ฐ์ ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ ๊ฐ์ํ์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด, ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํํ๋ ๊ธฐ์ , ์ฆ ์ปจํ ์ด๋ ๊ฐ์ํ ๊ธฐ์ ์ด ๋ฑ์ฅํ๋ค.
๋๋ณด๊ธฐ

์ปจํ ์ด๋
- ํํ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ์ปจํ ์ด๋๋ ์ ์ฌ์ง์ฒ๋ผ ํ๋ฌผ ์์ก์ ์ฃผ๋ก ์ฐ์ด๋, ์ ๋ก ๋ง๋ค์ด์ง ํฐ ์์๋ฅผ ์๋ฏธํ๋ค.
- ์ด ์ปจํ ์ด๋ ์์๋ ๋ค์ํ ํ๋ฌผ์ ๋ฃ์ ์ ์๊ณ , ์ด๋ฐ์ด ์ฌ์ฐ๋ฉฐ ๊ท๊ฒฉํ๋์ด ์์ด ๋ค๋ฅธ ์ด์ก์๋จ์ผ๋ก ์ฝ๊ฒ ์ฎ๊ธธ ์ ์๋ค.
- ์ด์ฒ๋ผ ์๋ฒ์์ ๋งํ๋ ์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค์ํ ํ๊ฒฝ์์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํ๋๋ก ํ์ํ ๋ชจ๋ ์์(ํ๋ก๊ทธ๋จ, ์คํํ๊ฒฝ ๋ฑ)๋ค์ ๋ชจ๋ ๋ด์๋์ ๊ฒ์ ์๋ฏธํ๋ค.

- ์ปจํ ์ด๋ ๊ฐ์ํ๋ OS ์์ฒด๋ฅผ ๊ฐ์ํํ๋ ๊ฒ์ด ์๋, OS ๋ ๋ฒจ์์์ ๊ฐ์ํ ๊ธฐ์ ๋ก ์ปจํ ์ด๋์ ํ์ํ ์ปค๋์ ๊ณต์ ํจ๊ณผ ๋์์ ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํํ๋ค.
- ์ด๋ฐ ๋ฐฉ์์ ๋งค์ฐ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ๋์ํ๋ฉฐ, ํ๋์ ํ๋ก์ธ์ค(์ปจํ ์ด๋)๋ฅผ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ๋์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ๊ธฐํ ๊ตฌ์ฑ ํ์ผ๋ค๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฐฐํฌ ์ ์ฉ๋์ด ์ค์ด๋ ๋ค.
๐ณ ๋์ปค์ ๊ตฌ์ฑ์์
- Docker Daemon
- API ์์ฒญ์ ์์ ํ๊ณ ์ด๋ฏธ์ง, ์ปจํ ์ด๋, ๋คํธ์ํฌ ๋ฐ ๋ณผ๋ฅจ๊ณผ ๊ฐ์ Docker ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌ
- ๋ค๋ฅธ ๋ฐ๋ชฌ๊ณผ ํต์ ํ์ฌ ๋์ปค ์๋น์ค ๊ด๋ฆฌ ๊ฐ๋ฅ
- Docker Client
- ์ฌ์ฉ์๊ฐ Docker Daemon๊ณผ ์ํธ์์ฉํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ช ๋ น์ด๋ฅผ ์ ๋ฌ/์ํ
- ๋ ์ด์์ ๋ฐ๋ชฌ๊ณผ ํต์ ๊ฐ๋ฅ
- Docker Host
- ๋์ปค๊ฐ ๋์์ ธ ์๋ ์๋ฒ, ์ปจํ ์ด๋์ ์ด๋ฏธ์ง ๊ด๋ฆฌ
- Docekr Image
- ๊ตฌ๋์ ํ์ํ ํ๋ก๊ทธ๋จ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์ค์ฝ๋ ๋ฑ์ ํจํค์งํ ํ์ผ
- Docekr Container
- ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ์ฌ ์คํํ ์ํ, ๋จ์ผ ์ด๋ฏธ์ง๋ฅผ ๋ค์ ์ปจํ ์ด๋์์ ๊ตฌ๋ ๊ฐ๋ฅ
- Docker Registry
- ๋์ปค ์ด๋ฏธ์ง ์ ์ฅ์๋ก Docker Hub๋ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ ๊ณต๊ฐํ Registry
- docker pull ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ํ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ , ๊ฐ์ ธ์จ ์ด๋ฏธ์ง๋ฅผ docker run ํ๋ฉด ์ปจํ ์ด๋๊ฐ ๋๋ค.
- docker push ๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ํธ์ํ ์ ์๋ค.
๐ณ ๋์ปค ๋์ ์๋ฆฌ
- ์ด๋ฏธ์ง ์์ฑ : ๊ฐ๋ฐ์๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค.
- ์ด๋ฏธ์ง๋ Docker file์ด๋ผ๋ ํ ์คํธ ํ์ผ์ ์ ์๋๋ฉฐ, ์ด ํ์ผ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ์์, ์ข ์์ฑ, ์ค์ ๋ฑ์ ๊ธฐ์ ํ๋ค.
- ์ด๋ฏธ์ง ๋น๋ : ๊ฐ๋ฐ์๋ Docker file์ ์ฌ์ฉํด ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ค.
- ๋์ปค ์์ง์ Docker file์ ์ฝ๊ณ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ํ์ํ ์์ ์ ์ํํ๋ค.
- ์ด ๊ณผ์ ์์ ํ์ํ ํจํค์ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ๋ฑ์ด ์ด๋ฏธ์ง์ ํฌํจ๋๋ค.
- ์ด๋ฏธ์ง ๋ฐฐํฌ : ๋น๋๋ ๋์ปค ์ด๋ฏธ์ง๋ ๋ ์ง์คํธ๋ฆฌ์ ์ ์ฅ๋๊ฑฐ๋ ๊ณต์ ๋๋ค.
- ๋์ปค ํ๋ธ(Docker Hub)๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ณต๊ฐ ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ์ด๋ค.
- ๋๋ ์กฐ์ง ๋ด์์ ํ๋ผ์ด๋น ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํด ์ด๋ฏธ์ง๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
- ์ปจํ
์ด๋ ์์ฑ : ๊ฐ๋ฐ์๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํด ์ปจํ
์ด๋๋ฅผ ์์ฑํ๋ค.
- ์ปจํ ์ด๋๋ ์ด๋ฏธ์ง์ ์ธ์คํด์ค๋ก์ ์คํ ๊ฐ๋ฅํ ๋จ์์ด๋ค.
- ์ปจํ
์ด๋๋ ์ด๋ฏธ์ง์ ์ํ๋ฅผ ์บก์ณํ๊ณ , ๋
๋ฆฝ๋ ํ์ผ ์์คํ
๊ณผ ๋คํธ์ํฌ๋ฅผ ๊ฐ์ง๋ฉฐ, ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์
์
๋ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
- ์ปจํ
์ด๋ ์คํ : ์์ฑ๋ ์ปจํ
์ด๋๋ ๋
๋ฆฝ๋ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ๋ค.
- ๋์ปค ์์ง์ ์ปจํ ์ด๋๋ฅผ ํธ์คํธ ์์คํ ์์ ๊ฒฉ๋ฆฌํ๊ณ ํ์ํ ๋ฆฌ์์ค(๋ฉ๋ชจ๋ฆฌ, CPU ๋ฑ)๋ฅผ ํ ๋นํ๋ค.
- ์ปจํ ์ด๋๋ ํธ์คํธ ์์คํ ๊ณผ๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๊ฐ ๋์์ ์คํ๋ ์ ์๋ค.
- ์ปจํ
์ด๋ ๊ด๋ฆฌ : ์ปจํ
์ด๋๋ ์คํ ์ค์ธ ์ํ๋ฅผ ์ ์งํ๋ฉฐ, ํ์์ ๋ฐ๋ผ ์์, ์ค์ง, ์ฌ์์, ์ ๊ฑฐ ๋ฑ์ ์์
์ ์ํํ ์ ์๋ค.
- ๊ฐ๋ฐ์๋ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๊ณ ํ์ํ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ ์ ์๋ค.
โ ์ฟ ๋ฒ๋คํฐ์ค (Kubernates)
โป ์ถ๊ฐ ์ ๋ฆฌ ์์