본문 바로가기

클라우드/Docker

no space left on device 해결

개요 

도커 이미지를 빌드하는 과정에서 계속 no space left on device 에러가 떴다. 

일단 말 그대로 디바이스에 공간이 없어서 발생하는 문제이기에 디스크 용량도 확인해보고 docker system prune으로 삭제도 해보았다.

결론은 docker system prune으로 해결.

 

 

docker system prune  사용하기

docker prune은 사용하지 않는 도커 오브젝트(컨테이너,이미지,네트워크)를 정리해준다.

$ docker system prune --help                                    

Usage:  docker system prune [OPTIONS]

Remove unused data

Options:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. "label=<key>=<value>")
  -f, --force           Do not prompt for confirmation
      --volumes         Prune volumes

 

docker system prune --all --force  로 사용하지 않는 도커 오브젝트를 다 삭제하여 도커 캐시 클리어 해주었다.

 

디스크 , inode 용량 확인하고 삭제하기

inode이란?

inode는 유닉스 계열 파일 시스템에서 파일이나 디렉토리의 메타데이터를 저장하는 자료구조이다.

파일이 디스크에 저장될 때, 실제 데이터는 데이터 블록에 저장되며, 이 데이터 블록들의 위치 정보는 inode에 포함된 포인터를 통해 관리된다. inode는 이렇게 파일의 실제 내용이 저장된 블록들을 찾는 데 필요한 정보를 제공한다. 

 

우선 디스크 용량 확인을 위해 df 사용

$ df -i                                                                              
Filesystem     512-blocks      Used Available Capacity iused     ifree %iused  Mounted on
/dev/disk1s1s1  439662488  17904464 165898048    10%  356049 829490240    0%   /
devfs                 413       413         0   100%     718         0  100%   /dev
/dev/disk1s6    439662488   6291592 165898048     4%       3 829490240    0%   /System/Volumes/VM
/dev/disk1s2    439662488  10976312 165898048     7%    1219 829490240    0%   /System/Volumes/Preboot
/dev/disk1s4    439662488     56512 165898048     1%      46 829490240    0%   /System/Volumes/Update
/dev/disk4s2      1024000     12328    987744     2%       1   4938720    0%   /System/Volumes/xarts
/dev/disk4s1      1024000     12488    987744     2%      29   4938720    0%   /System/Volumes/iSCPreboot
/dev/disk4s3      1024000      1720    987744     1%      51   4938720    0%   /System/Volumes/Hardware
/dev/disk1s5    439662488 235235312 165898048    59%  869321 829490240    0%   /System/Volumes/Data
/dev/disk2s1     39062504    863912  38099368     3%   47109 190496840    0%   /Volumes/무제
map auto_home           0         0         0   100%       0         0  100%   /System/Volumes/Data/home

 

devfs의 사용량이 100% 인 이유는 

devfs는 파일시스템으로 사용가능한 공간을 수치로 보여주지는 것이 아니지만 파일 시스템 계층 구조의 일부로서 보이기 때문에, 이에 대한 정보를 요구하는 일반 도구들에게 해당 값을 보고해야 한다.
(참고 https://apple.stackexchange.com/questions/267165/why-is-devfs-full)

map auto_home도 disk가 꽉 찬거랑은 상관이 없다.

 

더 이상 진행을 안해도 되지만 리눅스 명령어 공부할 겸 진행보았다.

 

 

참고
https://xinet.kr/?p=1452