์ค๋์ Container ๊ธฐ์ ๊ณผ Container ๊ธฐ์ ์ ํ์ฉํ๋ ๋๊ตฌ์ค ํ๋์ธ Docker๋ฅผ ์์๋ณด์ โโ
Container ๊ธฐ์ ๐ฆ
- Container๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๊ทธ ์คํ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ํ์ผ ๋ฑ์ ํ๋์ ๋
๋ฆฝ๋ ํจํค์ง๋ก ๋ฌถ์ด, ์ด๋์๋ ์ผ๊ด๋๊ฒ ์คํํ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ์ ์ด๋ค.
- "ํ ๋ฒ ๋ง๋ค๋ฉด ์ด๋์๋ ๋์ผํ๊ฒ ์คํ๋๋ค"๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
- ์ปจํ
์ด๋๋ ์ด์์ฒด์ ์ ์์ค ๊ฐ์ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๋ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ด ์ฌ์ฉ๋๋ค.
- ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ Linux Namespaces
- ๋ฆฌ์์ค ์ฌ์ฉ์ ์ ํํ๋ Cgroups
- ๊ณ์ธตํ ํ์ผ ์์คํ
์ ์ง์ํ๋ aufs, overlayfs
- ์ฐธ๊ณ ๋ก ์ด๋ฌํ ๊ธฐ์ ์ Docker ๋ฑ์ฅ ์ด์ ์๋ ์กด์ฌํ์๋ค.
- ex ) FreeBSD Jails, Solaris Zones, LXC
Docker ๐
- Docker๋ ์ปจํ
์ด๋ ๊ธฐ์ ์ ๋ณด๋ค ์ฝ๊ณ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ง ํ๋ซํผ์ด๋ค.
- Docker์ ์ฃผ์ ์ญํ
- ์ด๋ฏธ์ง(image) : ์คํ ํ๊ฒฝ์ ์ฝ๋์ฒ๋ผ ์ ์ํ ์ ์๋ ํ
ํ๋ฆฟ
- ๋ ์ง์คํธ๋ฆฌ(Registry) : ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ๊ณ ๋ฐฐํฌํ ์ ์๋ ์ ์ฅ์
- ์์ง(Engine) : ์ค์ ๋ก ์ปจํ
์ด๋๋ฅผ ์คํ์ํค๋ ํต์ฌ ๋ฐํ์
- ๋๊ตฌ ์ฒด์ธ : Docker CLI, Docker Compose ๋ฑ ํธ์์ฑ ๋๊ตฌ
- Docker์ ํ์
- CLI๋ก ์ปจํ
์ด๋๋ฅผ ์ฝ๊ฒ ์์ฑ, ์คํ, ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ค
- ์ด๋ฏธ์ง ๊ธฐ๋ฐ ๋ฐฐํฌ๋ก Dev -> Test -> Prod ๊ฐ ํ๊ฒฝ ์ผ๊ด์ฑ์ ๋ณด์ฅ
- ์ปจํ
์ด๋ ์ํ๊ณ๋ฅผ ๊ฐ๋ฐ์ ์ค์ฌ์ผ๋ก ๋์คํ์ํจ ๊ฒ์ด Docker์ ๊ฐ์ฅ ํฐ ๊ณตํ์
- Docker๋ ๊ธฐ์กด์ ์ปจํ
์ด๋ ๊ธฐ์ ์์ ์ฌ์ฉ์ ์นํ์ ์ธ UX์ ์ํ๊ณ๋ฅผ ๊ตฌ์ถํจ์ผ๋ก์จ ์ปจํ
์ด๋ ์ฌ์ฉ์ ๋ฌธํฑ์ ๋ฎ์ถ๋ ํฐ ์ญํ ์ ํ์๋ค๐
์ฆ, ์ปจํ
์ด๋๋ ๊ธฐ์ ๊ฐ๋
์ด๊ณ , Docker๋ ๊ทธ ๊ธฐ์ ์ ์ฝ๊ฒ ์ฌ์ฉํ๋๋ก ๋ง๋ ๋๊ตฌ์ด๋ค.
Docker์ธ ๋ค๋ฅธ ์ปจํ
์ด๋ ๋๊ตฌ๋ค
- ์ปจํ
์ด๋๋ Docker๋ง์ผ๋ก ๊ตฌํ๋๋ ๊ฒ์ด ์๋๋ค. ์ค์ ๋ก ๋ค์ํ ์คํ์์ค ํ๋ก์ ํธ์ ๋๊ตฌ๋ค์ด ์กด์ฌํ๋ค.
| ๋๊ตฌ๋ช
| ์ค๋ช
|
|---|
| LXC (Linux Containers) | Docker ์ด์ ์ ๋๋ฆฌ ์ฌ์ฉ๋ ๋ฆฌ๋
์ค ์ปจํ
์ด๋ ๊ตฌํ์ฒด. ๋ฎ์ ์์ค์ ์ค์ ์ด ํ์ |
| Podman | Docker์ ์ ์ฌํ CLI๋ฅผ ์ ๊ณตํ์ง๋ง, ๋ฐ๋ชฌ๋ฆฌ์ค(Daemonless) ๊ตฌ์กฐ๋ก ๋ณด์์ฑ์ด ๋์ |
| CRI-O | Kubernetes๋ฅผ ์ํ ์ปจํ
์ด๋ ๋ฐํ์. Docker๋ฅผ ๋์ฒดํ๋ ๊ฒฝ๋ ๋ฐํ์ |
| containerd | Docker์์ ๋ถ๋ฆฌ๋ ์ปจํ
์ด๋ ๋ฐํ์. CNCF ํ๋ก์ ํธ์ด๋ฉฐ, Kubernetes์์๋ ์ฌ์ฉ๋จ |
| rkt (Rocket) | CoreOS์์ ๊ฐ๋ฐํ ์ปจํ
์ด๋ ๋ฐํ์(ํ์ฌ๋ ๋นํ์ฑํ) |
- ์ด์ฒ๋ผ ์ปจํ
์ด๋ ์ํ๊ณ๋ Docker ์ธ์๋ ๋ค์ํ ๊ตฌํ์ฒด์ ๋ฐํ์๋ค์ด ์์ผ๋ฉฐ, ๋ชฉ์ ์ ๋ฐ๋ผ ์ ํฉํ ๋๊ตฌ๋ฅผ ์ ํํ ์ ์๋ค.
- ์ด๋ฌํ ๋ฐํ์๋ค์ ๋๋ถ๋ถ Kubernetes์ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ, ํ๋ ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
ํ๊ฒฝ์์๋ Docker๋ณด๋ค containerd, CRI-O๊ฐ ๋ ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ค.
๋ง๋ฌด๋ฆฌ ๐
์ค๋์ ์ปจํ
์ด๋ ๊ธฐ์ ๊ณผ ๊ทธ ๊ธฐ์ ์ ๋ณด๋ค ์ฝ๊ฒ ํ์ฉํ ์ ์๋๋ก ๋ง๋ ๋๊ตฌ์ธ Docker์ ๋ํด ์์๋ณด์๋ค.
์ปจํ
์ด๋์ Docker์ ์ญํ ์ดํดํ๊ณ , ์ํฉ์ ๋ง๋ ๋๊ตฌ๋ฅผ ์ ํํด ํจ์จ์ ์ผ๋ก ํ์ฉํด๋ณด์ ๐ฏ