클라우드서버에 도커로 개발 서버를 운영 중이었다.
CICD를 구성하여 github에 push 할 때마다 기존 컨테이너를 삭제하고 새로 구성하였다.
이렇게 6개월가량 개발을 진행 중이었는데 어느 날 서버의 용량 초과로 이슈가 발생하였다.
스토리지는 무려 50GB로 넉넉하게(?) 할당하였는 데 사용하지 않은 캐시가 많이 쌓인 것 같았다.
이러한 경우 해결하는 방법을 정리하고자 한다.
먼저 아래의 명령어로 Docker의 루트 디렉터리의 위치를 찾는다.
docker info | grep "Docker Root Dir"
대부분 아래의 위치에 설치가 되어있을 것이다.
Docker Root Dir: /var/lib/docker
해당 디렉터리로 이동한 뒤에 아래 명령어로 어떤 폴더의 용량이 가장 큰지 확인해 본다.
du -sh * | sort -nr
역시나 overlay2에서 대다수의 용량을 차지하고 있었다. 그동안 레이어가 많이 쌓였었나 보다.
아래의 명령어로 사용하지 않는 데이터를 일괄적으로 삭제할 수 있다. 혹여나 잘못 삭제하고 후회할지 모르니 중요한 데이터는 미리 백업해 두자!
sudo docker system prune --volumes
어느 정도 시간이 지난 후 30GB가량이 정리되었다!
실서버를 배포할때는 이러한 부분도 고려해야겠다..ㅎ