솔솔
[Docker] No space left on device 에러 본문
반응형
💥 트러블 슈팅 상황
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
'나의보물들 > Docker' 카테고리의 다른 글
[Docker] Docker 명령어 (3) | 2024.09.29 |
---|---|
Docker로 MySQL 데이터 덤프 만들고 다른 컨테이너에 복원하기 (4) | 2024.09.27 |