write /var/lib/docker/tmp/GetImageBlob2068492138: no space left on device

2023. 8. 10. 19:32에러대응

문제 상황

 

EC2 우분투에 도커 환경에 ngrinder 를 pull 받는 상황에 발생했던 문제이다.

 

실행한 코드

 

docker pull ngrinder/controller:3.5.5-p1
docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller:3.5.5-p1
docker pull ngrinder/agent:3.5.5-p1
docker run -d --name agent --link controller:controller ngrinder/agent:3.5.5-p1

 

아래처럼 설치가 안되는 문제가 발생했다.

 

write /var/lib/docker/tmp/GetImageBlob2068492138: no space left on device

이 오류는 주로 도커가 이미지나 컨테이너를 저장하는 디스크의 공간이 부족할 때 발생한다고 한다.

 

디스크 사용량 확인

 

df -h

 

실행 결과

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.6G  7.4G  205M  98% /
tmpfs           483M     0  483M   0% /dev/shm
tmpfs           194M  952K  193M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/xvda15     105M  6.1M   99M   6% /boot/efi
tmpfs            97M  4.0K   97M   1% /run/user/1000

 

8GB 로 생성했는데 용량이 많이 부족해 보인다.

 


중지된 컨테이너들을 모두 삭제해보았다.

 

sudo docker container prune

중지된 컨테이너가 없어 삭제된 컨테이너가 없다.

 


EC2 볼륨을 20GB 로 먼저 수정해 준다.

 

아래 명령어를 입력하면 볼륨 크기가 늘어난 걸 볼 수 있다.

 

lsblk

SOLVE

 

인스턴스에 도커 컨테이너들을 모두 실행했는데 서버가 멈춰버렸다.

 

 

 

https://muyeon95.tistory.com/248

 

AWS EC2 멈춤 현상 (볼륨 증설하기)

swap 을 사용해 볼륨을 증설하자! sudo dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl 1MB 인 블럭, 개수가 2000K 인 빈 파일을 만든다. 즉 2GB 확보 sudo chmod 600 /root/swapfile swapfile 권한 부여 sudo mkswap /ro

muyeon95.tistory.com

 

 

위의 링크처럼 AWS EC2 볼륨을 증설하고 해결되었다. 이를 통해 메모리 이슈를 해결할 수 있었다.