DevBoi

[Docker] 디스크 용량 이슈 본문

Infra/[K8S & Docker]

[Docker] 디스크 용량 이슈

HiSmith 2023. 12. 9. 15:11
반응형

개인 운영중인 Docker swarm에서 아래와 같은 메시지로 인해

신규 이미지를 pull할수 없었다.

 

Error response from daemon: write /var/lib/docker/image/overlay2/.tmp-repositories.json2291754845: no space left on device

 

1) 리눅스 내 용량 비율 확인

ubuntu@ip-172-31-41-56:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.6G  7.6G     0 100% /
tmpfs           475M     0  475M   0% /dev/shm
tmpfs           190M   21M  170M  11% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/xvda15     105M  6.1M   99M   6% /boot/efi
tmpfs            95M  4.0K   95M   1% /run/user/1000

 

/dev/root 의 용량이 전부 사용중이다.

 

좀 더 상세하게 확인하기 위해 도커의 이미지 및 사용중인 용량에 대해 파악하기로했다.

docker system df 는 현재 도커 이미지와 컨테이너, 볼륨의 용량을 얼마나 사용중인지 확인이 가능한 명령어 이며,

-v를 통해 미사용 관련 리소스도 확인 할 수 있다.

 

확인 해보니 용량을 다 차지할 정도는 아니다

 

 

그래도 미사용 하는 리소스에 대한 확인은 했으니, 정리를 해보자

도커에서는 무튼 미사용 리소스에 대한 정리를 빠르게 도와주는 명령어가 있다.

 

Docker prune를 사용해서 볼륨,이미지,컨테이너의 정리를 할 수있다.

추가로 cron타입으로 도커 컨테이너 내에서 정리를 해주는 스케줄링을 걸어줘서 주기적으로 리소스 관리를 하게끔

설정할 수 있다.

 

  • docker volume prune : 미사용 볼륨 제거
  • docker container prune : 미사용 컨테이너 제거
  • docker image prune : 미사용 이미지 제거
  • docker system prune : 미사용 중인 이미지, 컨테이너, 볼륨 모두 제거

 

docker system prune 를 사용해서 docker 관련 리소스를 정리했고,

100% -> 93% 로 줄었다.

 

 

2) 용량 높고 안쓰는 파일 찾기 

du 명령으로 특정 폴더의 용량을 조회할수있다.

해당 명령어로 이동하면서, 특정 용량이 높은 파일을 찾아볼수 있다.

sudo du -sh /home1/* | sort -hr

 

주로 로그파일이나 tar 파일이면 확인 후에 삭제하면 된다.

반응형