솔솔

[Docker] No space left on device 에러 본문

나의보물들/Docker

[Docker] No space left on device 에러

솔솔하네 2024. 10. 14. 17:09
반응형

💥 트러블 슈팅 상황


Docker에 Jenkins를 설치한 후, Jenkins 컨테이너 내에서 폴더를 생성하려고 시도했는데, "No space left on device" 에러가 발생함.

 

먼저 구글링에 앞서 해당 문장을 번역기로 번역해 보니, "장치에 남은 공간이 없습니다"라는 의미였다.

즉, Jenkins Docker 컨테이너에서 사용 가능한 디스크 공간이 모두 소진되었음을 의미했다.

그래서 아래와 같은 방법으로 트러블 슈팅을 해결했다.

 

💊 트러블 슈팅 해결


1. 디스크 사용량 확인

    Docker 컨테이너에서 overlay 파일 시스템이 100% 사용된 상태 확인함 ( Docker가 사용하는 저장 공간이 가득 찼음  을  의미 )

 

root@2e01c41ed986:/# df -h
Filesystem                         Size  Used Avail Use% Mounted on
overlay                             12G   12G     0 100% /
tmpfs                               64M     0   64M   0% /dev
shm                                 64M     0   64M   0% /dev/shm
/dev/mapper/ubuntu--vg-ubuntu--lv   12G   12G     0 100% /var/jenkins_home

 

2. 사용하지 않는 Docker 리소스 정리

# 중지된 컨테이너 삭제
docker container prune

# 사용하지 않는 도커 이미지 삭제
docker image prune 

# 사용하지 않는 도커 네트워크 삭제
docker network prune

# 사용하지 않는 도커 볼륨 삭제
docker volume prune

# 사용하지 않는 모든 리소스 삭제
docker system prune -a

 

3. 사용하지 않는 Docker 리소스 정리 후 디스크 사용량 확인

  정리 후, overlay와 /var/jenkins_home에서 사용된 공간이 12GB에서 11GB로 줄어들었으며, 약 1GB의 공간을 확보

root@2e01c41ed986:/# df -h
Filesystem                         Size  Used Avail Use% Mounted on
overlay                             12G   11G   61M 100% /
tmpfs                               64M     0   64M   0% /dev
shm                                 64M     0   64M   0% /dev/shm
/dev/mapper/ubuntu--vg-ubuntu--lv   12G   11G   61M 100% /var/jenkins_home

 

4. 기존에 하려던 작업 재시도

  정리 후 폴더도 정상적으로 생성된 것을 확인할 수 있었음

root@2e01c41ed986:/# mkdir -p /var/lib/jenkins/.aws
root@2e01c41ed986:/# ls -la /var/lib/jenkins/
total 16
drwxr-xr-x 3 root root 4096 Oct 14 08:05 .
drwxr-xr-x 1 root root 4096 Oct 14 08:05 ..
drwxr-xr-x 2 root root 4096 Oct 14 08:05 .aws