Docker Root 폴더 변경하기

Docker Root 폴더 변경하기

도커를 사용하고, 이미지 빌드를 하다보면 Disk Full이 발생할 수 있습니다.

제 경우, VM에 우분투를 올리고 루트 디스크를 50GB만 할당해 둔 상태이기 때문에 금방 이 상황을 겪었는데요, 시스템에도 좋지 않은 영향을 끼칠테니 docker root 위치를 변경합니다.

관리자 권한이 필요하므로 sudo -i 를 입력하거나, sudo 를 붙여서 작업합니다.

Docker Root 위치 변경

Docker Service 중지

systemctl stop docker
docker.socket이 살아있긴 하지만 상관없었어요.

새로운 root 폴더 생성 및 데이터 이동

docker의 기본 root폴더는 /var/lib/docker 에 있습니다.

cp -a /var/lib/docker /your/docker_root
/your/docker_root 는 새로운 루트폴더의 이름입니다.

기존 폴더 이름 변경

문제가 생길 때 복원하기 위해 이름을 바꿔둡니다.
mv /var/lib/docker /var/lib/docker.old

docker root 설정

vim /etc/docker/daemon.json 파일을 열어서

{
  "data-root": "/your/docker_root"
}

root 폴더 설정을 해 줍니다. graph로 해도 된다고 하는데, 제 경우 graph 로는 오류가 났어요.

docker service 시작

systemctl start docker

설정이 잘 되었다면 서비스가 제대로 실행됩니다.

기존 폴더 삭제

이제 서비스가 잘 굴러가므로, 기존 폴더를 삭제합니다.

rm -rf /var/lib/docker.old

{{#is "post"}} {{/is}}