GOOD4ME

[Errno 28] No space left on device 본문

개발.오류.정리/Docker

[Errno 28] No space left on device

de_youn 2022. 11. 15. 14:07
반응형

독자 대상📣
  👉 Docker Container로 무언가 구축중이신 분
  👉 Docker Container 용량이 부족하신 분


출간 이유❓
  👉 Docker 컨테이너 내에서 pip 설치 시, 용량 부족 에러 발생 확인


문제 파악🔍

Collecting pyspark
  Downloading pyspark-3.3.0.tar.gz (281.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 281.3/281.3 MB 5.8 MB/s eta 0:00:00
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

    👉 Q: pip로 무언가 설치하려고 하면, 자꾸 디바이스에 남은 공간이 없다고 해요😥


문제 해결🎊

로컬과 매핑된 도커 파일 시스템의 용량 부족 현상입니다😌
파일시스템(FS)의 종류를 확인하시고,
하단의 FS 종류별 솔루션을 참고해주세요❗❗

  • EXT4 시스템
# 1.Docker container에서 매핑된 파일시스템명 확인
$ df -h
Filesystem                                                                                       Size  Used Avail Use% Mounted on
/dev/mapper/docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd  9.8G  9.3G   25M 100% /

# 2.dm table 수기 작성을 위한 작업
$ sudo dmsetup table docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd
0 20971520 thin 253:0 162
# 상기의 20971520이 현재 docker container 용량

# 3.원하는 용량 기입을 위한 작업
$ echo 0 41943040 thin 253:0 162 | sudo dmsetup load docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd
# 상기의 41943040에 원하는 용량 기입

# 4.dm 등록 작업 및 dm table 확인
$ sudo dmsetup resume docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd
$ sudo dmsetup table docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd
0 41943040 thin 253:0 162
# 상단의 41943040처럼 변경된 테이블 내용 확인

# 5.dm table 내용을 적용하기 위한 작업
$ sudo resize2fs /dev/mapper/docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd
  • XFS 시스템

# 1.(FS - EXT4 의 4단계까지 동일)

# 2. dm table 내용을 적용하기 위한 작업
$ sudo xfs_growfs /dev/mapper/docker-8:1-2360722-dc51708a7597fd588376b1355834b09fb3ea4e3ed34ef6c94c5d8664c780bbdd


상기 절차대로 시행하면 컨테이너 용량 부족 현상이 해결됩니다😁😁😀

반응형
Comments