42Seoul/Docker

16. docker 메뉴얼 파해치기 스토리지 드라이버

정확히 이해하진 못하였다

 

이글을 잘 정리하신 별준님이 있으시다

https://junstar92.tistory.com/170

 

[Docker] 12. 스토리지 드라이버(storage driver)

Contents 스토리지 드라이버의 원리 스토리지 드라이버 사용하기 AUFS 드라이버 Devicemapper OverlayFS Btrfs ZFS 1. 스토리지 드라이버의 원리 이미지는 읽기 전용 파일로 사용되며, 컨테이너는 이 이미지

junstar92.tistory.com

 

내가 이해한 바로는 저장하는 방식을 어떻게 하는냐를 말하는거 같다.

예를들어 데이터를 저장할때 이미있는 데이터에 쓰기를 할경우와 이미 있는 상황에서 수정해야하는 사항을 기록하는식

 

Cow 방식

- 지금 시점을 기록하기 위하여 원본파일을 가져온다 그리고 가져온 파일을 수정하여 다시 돌려준다

Row 방식

- 전에 어떠한 데이터가 있엇고 그데이터에 대하여 수정된 사항을 기입해 놓는다.(뭔가 git 같음)

 

음.. 이런식?

자세한건 별준 센세의 글을 참고 바란다 ㅎㅎ..

 

이제 드라이버를 살펴보자

 

1. overlay2 

왠만하면 이것을 사용하라 한다 뭔가 최적화가 되어있나보다

2. fuse-overlayfs (mac 만)

rootless 를 지원하지 않는 경우 선호한다는데.. 맥에 있는 보안이라고 한다. 아마 권한이 없는 사용자일때 문재생기는것을 해결하기 위해 있는거 같다

3. btrfs && zfs

Cow 형식으로 작동한다

좀더 세밀하게 옵션을 설정하여 사용하기위해 있는거 같다. 주의가 요함으로 전문가들이 사용하기 좋아보임

4. vfs(virtual file system)

가상환경 시스템 파일 이라고 한다. 견고하고 안정적이여서 테스트 할때 사용한다고 한다.

다만 엄청 느리다고 한다.

5. aufs

Row 형식으로 작동한다

도커에서 왠만하면 overlay2를 사용하라는거 같다 

aufs 를 사용하기 위해선 os 에도 aufs 를 설치 해야한다고 한다.

6. devicemapper 

이건 좀 신기하다 사용량에 대한 모니터링 시스템이라고 할까? 관리라고 할까?

그런식으로 사용하는거 같다. lvm(born2beroot 에서 봣듯 저장장지 관리하는거) 를 제어하여 사용량에 따라 pool이라는 저장 공간을 늘려주기도 하고 최대 크기를 제한도 하며 최적을 유지시키기 위한 관리를 해준다

 

뭔가 아는게 없으니 설명이 딸린다...

나중에 공부하다보면 점점 잘 설명 하겟지?

 

https://docs.docker.com/storage/storagedriver/

 

About storage drivers

 

docs.docker.com