%3A%20No%20space%20left%20on%20device'%20%EA%B4%80%EB%A0%A8%20%EB%AC%B8%EC%A0%9C.%20%EA%B7%B8%EB%9E%98%EB%8F%84%20%EB%8B%A4%EB%A5%B8%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EC%9D%84%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
몇 년 동안 잘 작동해 온 도커 컨테이너(NGINX/PHP, MySQL 등)가 있습니다. 그러나 최근 NGINX/PHP 컨테이너의 Laravel에서 PHP 스크립트를 실행할 때 이 오류가 표시되기 시작했습니다.
mkdir(): No space left on device
내가 알 수 있는 바에 따르면 웹 앱이 Laravel의 Illuminate\Support\Facades\Mail을 사용하여 로그인 OTP/2FA 단계 중에 이메일을 보내려고 할 때 발생/생성되는 것처럼 보입니다. 나는 컨테이너 내의 일종의 캐시 폴더/파일 또는 기타 디렉토리에 쓰려는 시도가 있다고 가정합니다. 이 디렉토리는 어떻게든 가득 차 있거나 해당 위치에 쓸 수 있는 권한이 없습니다.
대부분의 nginx 캐시 파일은 컨테이너의 /var/cache/nginx에 있는 것 같습니다.
그러나 최근에는 코드가 변경되지 않았습니다.
컨테이너에서 사용 가능한 공간을 확인하거나 Docker 컨테이너에 할당된 크기를 설정하는 방법이 있습니까?
답변1
컨테이너가 기본적으로 액세스할 수 있는 디스크 양에는 제한이 없습니다. 사용 가능한 옵션이 있지만 일부 스토리지 드라이버에만 제한됩니다.스토리지 드라이버 옵션
Docker 컨테이너가 실행되는 호스트 장치에 더 이상 공간이 남아 있지 않을 가능성이 높습니다. 실행 중인지 확인할 수 있습니다.
# df -h
또 다른 이유는 더 이상 사용 가능한 inode가 없기 때문일 수 있습니다(파일 시스템을 채우지 않고도 발생할 수 있음). 실행 중인지 확인할 수 있습니다.
df -i
# or
tune2fs -l /dev/<your disk device>