Docker

Docker Volume , 데이터 저장은? <ing>

LEEHANDS 2022. 2. 17. 18:16
반응형

 

 

 

https://www.daleseo.com/docker-volumes-bind-mounts/

 

Docker 컨테이너에 데이터 저장 (볼륨/바인드 마운트)

Engineering Blog by Dale Seo

www.daleseo.com

 

하아 이틀간 겁나게 뺑이 쳤다.

도커의 데이터 저장 시스템을 이해하는데 이렇게 어려웠다.

 

Docker 이미지의 데이터 관리 구조

어떤 데이터를 복사해야하는 경우 빈공간이 필요하다.

하지만 복사한 데이터가 변경되면 문제가 된다.

데이터를 바로 복사하지 않고 원본을 그대로 참조하여 원본 또는 복사본 데이터 중 하나가 변경될 때 빈공간을 확보하여 데이터를 복사하는 구조

COPY on WRITE 라 한다.

도커는 COPY on WRITE 방식으로 컨테이너 이미지의 변경을 관리한다.

도커 이미지는 OS와 미들웨어의 디렉토리를 포함하기 때문에 용량이 크다. 때문에 용량이 한정된 물리 스토리지 영역을 효율 적으로 사용하기 위해 Copy on Write 로 이미지의 변경을 관리한다.

 

Btrfs

Oracle 에서 2007년에 발표한 리눅스용 Copy on Write 파일 시스템이다.

도커는 Btrfs 의 Subvolume 기능과 Snapshot 기능을 사용하여 컨테이너 이미지의 변경을 파일 시스템 층에서 관리한다.

 

AUFS

서로 다른 파일 시스템의 파일과 디렉토리를 중첩하여 하나의 파일트리를 구성할 수 있는 파일 시스템

단 현재 리눅스 표준 은 아니기때문에 미래가 불투명하다.

 

Device Mapper

리눅스 블로 다바이스 드라이버와 이를 지원하는 라이브러리다.

파일 시스템의 블록 IO와 디바이스 매팽을 관리한다.

다양한 리눅스등에서 도커를 사용할 때 Device Mapper 가 쓰인다.

 

Overay

Union filesystem 의 하나로 파일시스템에 또다른 파일 시스템을 합치는 구조다.

리눅스 배포판인 CoreOS가 이방식을 채용


 

반응형