๐ Docker Storage Drivers & File System (๊ฐ์ ์ ๋ฆฌ)
1. Docker ๋ฐ์ดํฐ ์ ์ฅ ์์น
- Docker ์ค์น ์ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ:
/var/lib/docker/
- ์ฃผ์ ํ์ ๋๋ ํ ๋ฆฌ:
containers/ โ ์ปจํ
์ด๋ ๊ด๋ จ ํ์ผ ์ ์ฅ
image/ โ ์ด๋ฏธ์ง ๊ด๋ จ ํ์ผ ์ ์ฅ
volumes/ โ ๋ณผ๋ฅจ ๋ฐ์ดํฐ ์ ์ฅ
- ๊ธฐ๋ณธ์ ์ผ๋ก Docker์ ๋ชจ๋ ๋ฐ์ดํฐ(์ด๋ฏธ์ง, ์ปจํ
์ด๋, ๋ณผ๋ฅจ)๊ฐ ์ด ๊ฒฝ๋ก์ ์ ์ฅ๋จ.
2. Docker์ ๋ ์ด์ด๋ ์ํคํ
์ฒ
- Docker ์ด๋ฏธ์ง๋ ๋ ์ด์ด(layer) ๋จ์๋ก ๊ตฌ์ฑ๋จ.
- Dockerfile์ ๊ฐ ๋ช
๋ น(
FROM, RUN, COPY, CMD ๋ฑ)์ ์๋ก์ด ๋ ์ด์ด๋ฅผ ์์ฑ.
- ์์:
- Ubuntu base image (120MB)
- APT ํจํค์ง ์ค์น (300MB)
- Python/Flask ๋ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- ์์ค ์ฝ๋ ๋ณต์ฌ
- ์ํธ๋ฆฌํฌ์ธํธ ์ค์
- ํน์ง:
- ๊ฐ ๋ ์ด์ด๋ ์ด์ ๋ ์ด์ด์์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ ์ฅ.
- ๋์ผํ ๋ ์ด์ด๋ ์ฌ๋ฌ ์ด๋ฏธ์ง/์ปจํ
์ด๋์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ.
- ๋น๋/์
๋ฐ์ดํธ ์ ์บ์๋ ๋ ์ด์ด ํ์ฉ โ ๋น ๋ฅด๊ณ ํจ์จ์ .
3. ์ปจํ
์ด๋ ์คํ ์ ๋์
docker run ์คํ ์:
- ์ด๋ฏธ์ง ๋ ์ด์ด(์ฝ๊ธฐ ์ ์ฉ, Read-Only) ์์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ๋ ์ด์ด(Read-Write Layer) ์ถ๊ฐ.
- ์ปจํ
์ด๋ ์คํ ์ค ์์ฑ๋๋ ๋ก๊ทธ, ์์ํ์ผ, ์ฌ์ฉ์ ๋ณ๊ฒฝ์ฌํญ์ RW ๋ ์ด์ด์ ์ ์ฅ.
- ์ปจํ
์ด๋ ์ข
๋ฃ/์ญ์ ์ RW ๋ ์ด์ด๋ ์ญ์ ๋จ โ ๋ฐ์ดํฐ ์์ค ๋ฐ์.
4. Copy-on-Write (COW) ๋ฉ์ปค๋์ฆ
- ์ด๋ฏธ์ง ๋ ์ด์ด๋ ๋ณ๊ฒฝ ๋ถ๊ฐ(์ฝ๊ธฐ ์ ์ฉ).
- ์ปจํ
์ด๋์์ ํ์ผ ์์ ์:
- Docker๊ฐ ํด๋น ํ์ผ์ RW ๋ ์ด์ด์ ๋ณต์ฌ ํ ์์ ๋ณธ์ ์ ์ฅ.
- ์ดํ ์์ ์ RW ๋ ์ด์ด์ ๋ณต์ฌ๋ณธ์์ ์ํ๋จ.