728x90



도커 storage driver


도커는 이미지를 layer로 구성 (1개 ~ storage driver에서 사용할 수 있는 최대 layer 수까지)

컨테이너 실행 시 write layer를 생성하여 변경 사항을 기록


즉 컨테이너의 layer는 image layer + write layer로 이루어지는데 각 layer는 디렉토리로써, 

하나의 디렉토리(컨테이너의 rootdir)로 만들기 위해서 Union Mount를 사용


Union Mount를 하기 위해서는 unionFS을 사용해야 하는데, 다양한 종류가 있음 (AUFS, btfs, devicemapper, zvfs, overlay 등)




도커 storage driver 변경


도커 최신 버전에서는 overlay2를 default로 설정

도커 storage driver의 성능을 비교하기 위해 AUFS로 변경

AUFS를 사용하기 위해서는 AUFS를 지원하는 커널이 필요 -> Ubuntu에서는 AUFS를 지원



Ubuntu16.04에서 Docker-CE 설치 후


위 명령어를 사용해서 docker storage driver를 확인 가능


$ docker info | grep "Storage Driver"
Storage Driver: overlay2



실행중인 docker 프로세스 종료


$ systemctl stop docker


storage driver 변경 시 기존 storage driver를 이용해서 만들어진 데이터(이미지 layer, write layer)는 사용 불가능

기존 데이터를 보존하기 위해서 백업


$ cp -au /var/lib/docker /var/lib/docker.bk


기존 docker 디렉토리 삭제


$ rm -rf /var/lib/docker


storage driver 설정 (설정을 바꾼적이 없다면 daemon.json 파일은 존재하지 않을 수 있음)

이때 AUFS가 아닌 다른 storage driver를 사용하고 싶으면 원하는 driver 명 기입(aufs, overlay, zvfs, btfs, devicemapper 등)


$ vim /etc/docker/daemon.json
# /etc/docker/daemon.json

{
     "storage-driver": "aufs"
}



도커 재 시작


$ systemctl start docker


다시 도커의 storage driver를 확인해보면 aufs로 변경되었음을 알 수 있다.


$ docker info | grep "Storage Driver"
Storage Driver: aufs


728x90

'Docker' 카테고리의 다른 글

도커(Docker)의 핵심기술  (4) 2019.05.26
도커(Docker) Volume 사용법  (1) 2018.08.29
도커(Docker) 사용법  (0) 2018.08.21
도커(Docker) 설치  (1) 2018.08.20