File System
/var/lib/docker
โโโ aufs
โโโ containers
โโโ image
โโโ volumes
- Docker ๋ฅผ ์ค์นํ๋ฉด Local File System ์
/var/lib/docker
์ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๊ฐ ์์ฑ๋๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๊ฒฝ๋ก์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ
- ์ฌ๊ธฐ์ ๋ฐ์ดํฐ๋ Docker Host ์์ ์คํ๋๋ Image ์ Container ๊ด๋ จ ํ์ผ
docker system df
๋ช
๋ น์ด๋ก Docker ์ ๋์คํฌ ์ฌ์ฉ๋์ ์ ์ ์์
docker system df -v
๋ช
๋ น์ด๋ก Image ๋ณ ๋์คํฌ ์ฌ์ฉ๋์ ์ ์ ์์
Layered Architecture

- Docker ๊ฐ Image ๋ฅผ ๋น๋ํ ๋ Layered Architecture ํ์์ผ๋ก ์์ฑ๋ผ์ ์ค๋ณต๋๋ Layer ๋ ์ฌ์ฌ์ฉํ๊ณ ์ฐจ์ด๊ฐ ์๋ Layer ๋ง ์๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ Image ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๊ณ ๋์คํฌ ๊ณต๊ฐ๋ ์ ์ฝํ ์ ์์
Copy-On-Write(COW) Mechanism

docker build Dockerfile -t mmumshad/my-custom-app
์คํ ์ Read Only ์ Image Layers ๊ฐ ์์ฑ๋จ
docker run mmumshad/my-custom-app
์คํ ์ Read Write ์ด ๊ฐ๋ฅํ Container Layer ๊ฐ Image Layers ์์ ์์ฑ๋จ
- Read Write ์ด ๊ฐ๋ฅํ Container Layer ์๋ Container ๊ฐ ์์ฑํ ๋ฐ์ดํฐ(Application ๋ก๊ทธ, Container ๋ด์์ ์ฌ์ฉ์๊ฐ ์์ ํ ํ์ผ ๋ฑ)๊ฐ ์ ์ฅ๋จ
- Image ์์ฑ ์ ๋ณต์ฌํด ๋์
app.py
์ ๊ฐ์ Application ํ์ผ์ ์์ ํ ๊ฒฝ์ฐ Container Layer ์ ์ฌ๋ณธ์ ์์ฑํด์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ Image ์ ์๋ app.py
๋ ๋ณํ์ง ์์
Volumes

docker volume create data_volume
- ์ ๋ช
๋ น์ด๋ก
/var/lib/docker/volumes/data_volume
ํด๋ ์์ฑ
docker run -v data_volume:/var/lib/mysql mysql
- ์ ๋ช
๋ น์ด๋ก Container ์ Read Write Layer ์ Mount ๊ฐ๋ฅ
docker volume create data_volume
์ ์คํํ์ง ์์๋ค๋ฉด ์๋์ผ๋ก ์์ฑํด์ค
- ์ด๋ฐ ๋ฐฉ์์ Volume Mounting ์ด๋ผ๊ณ ํจ
docker run -v /data/mysql:/var/lib/mysql mysql
- ์ ๋ช
๋ น์ด์ฒ๋ผ ๋ค๋ฅธ ์์น์ Mounting ํ๊ณ ์ถ์ ๋ Mount ํ ๋๋ ํฐ๋ฆฌ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์
๋ ฅ
- ์ด๋ฐ ๋ฐฉ์์ Bind Mounting ์ด๋ผ๊ณ ํจ
docker run --mount type=bind,source=/data/mysql,target=/var/lib/mysql mysql
-v
์ต์
์ ๊ตฌ์์ด๊ณ --mount
๊ฐ ์ ์
Storage Drivers
- Docker ๋ Storage Driver ๋ฅผ ํตํด Layered Architecture ๋ฅผ ๊ตฌํ ๋ฐ ๊ด๋ฆฌ, Write Layer ์์ฑ, Layer ๊ฐ ํ์ผ ์ด๋๊ณผ ๋ณต์ฌ, ์ฐ๊ธฐ ๋ฑ ์์
์ ์ํํจ
- Storage Driver ๋ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ์ข
๋ฅ๊ฐ ์๊ณ ๊ธฐ๋ฐ OS ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฌ์ฉํจ
- AUFS
- ZFS
- BTRFS
- Device Mapper
- Overlay
- Overlay2
- Ubuntu ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ Storage Driver ๋ AUFS
- Fedora ๋ CentOS ๊ฐ์ OS ๋ AUFS ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ Device Mapper ๋ฅผ ์ฌ์ฉ
- Docker ๋ OS ์ ๊ฐ์ฅ ์ ํฉํ Storage Driver ๋ฅผ ์๋์ผ๋ก ์ ํํจ
References