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