본문 바로가기
DevOps/Docker

[Docker] : devicemapper 컨테이너 저장 공간 설정하기

by 오주현 2022. 3. 1.
반응형

CentOS는 도커 엔진이 devicemapper를 기본적으로 사용하도록 되어 있다.

여기서 컨테이너의 저장 공간을 확인해 본다.

 

docker info | grep devicemapper

docker run -it --name ubuntu ubuntu:14.04
df -h

확인해 보면 10GB의 저장 공간을 할당 받고 있는 것을 확인할 수 있다. 우분투에서 30GB를 모두 할당 받고 있는 것과는 차이가 있다. 이처럼 각 스토리지 드라이버마다 저장 공간을 할당하는 방식이 다르다.

 

하지만 일부 스토리지 드라이버는 저장 공간을 제한하는 것이 가능한데 devicemapper는 아래 코드를 도커 데몬 옵션에 넣으면 된다.

 

DOCKER_OPTS="--storage-driver=devicemapper --storage-opt dm.basesize=20G"

앞에는 백엔드 스토리지 드라이버를 devicemapper로 선택해주고 뒤에서 컨테이너 기본 저장 공간의 크기를 20GB로 설정해 준 코드인다.

 

주의 점으로는 도커 엔진이 이미지를 내려 받을 때 옵션으로 내장시키기 때문에 도커를 초기 상태로 초기화 시키고 사용해야 정상 적용이 된다. 이때 도커 데이터를 저장하는 디렉터리를 삭제하기 때문에 모든 파일을 미리 백업해 두는 게 좋다.

 

service docker stop
rm -rf /var/lib/docker
service docker start

위 코드를 진행하고 나면 컨테이너 내부 파일시스템 크기가 20GB로 늘어난 것을 확인할 수 있다.

 

docker run -i -t --name centos2 centos:7
df -h

확인해 본다.

다른 방법으로는 컨테이너 생성 시 옵션을 통해 저장 공간 크기를 제한할 수도 있다.

 

docker run -it --storage-opt size=25G centos:7
df -h

이렇게 하면 컨테이너가 정상적으로 생성이 된다.

 

docker info | grep Base

명령어로 db.basesize 값을 확인할 수 있다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글