Problema con 'mkdir(): No queda espacio en el dispositivo" en Docker Container. ¿Podría haber algún otro problema?

Problema con 'mkdir(): No queda espacio en el dispositivo" en Docker Container. ¿Podría haber algún otro problema?

Tengo algunos contenedores acoplables (NGINX/PHP, MySQL, etc.) que han estado funcionando bien durante años. Sin embargo, recientemente comencé a ver este error al ejecutar un script PHP en Laravel en el contenedor NGINX/PHP.

mkdir(): No space left on device

Por lo que puedo decir, parece que se está lanzando/generando cuando la aplicación web intenta enviar un correo electrónico durante el paso de inicio de sesión OTP/2FA, usando Illuminate\Support\Facades\Mail en Laravel. Supongo que hay un intento de escribir en algún tipo de carpeta/archivo de caché u otro directorio dentro del contenedor que de alguna manera debe estar lleno o no tiene permiso para escribir en la ubicación.

Parece que la mayoría de los archivos de caché de nginx están en: /var/cache/nginx en el contenedor.

Aunque nada ha cambiado en el código recientemente.

¿Hay alguna manera de verificar el espacio disponible en el contenedor o establecer el tamaño asignado a un contenedor Docker?

Respuesta1

No hay limitación en la cantidad de disco a la que puede acceder un contenedor de forma predeterminada. Hay una opción disponible pero restringida a algunos controladores de almacenamiento:opciones del controlador de almacenamiento

Lo más probable es que no quede más espacio en el dispositivo host donde se ejecutan los contenedores acoplables. Puedes verificarlo ejecutando:

# df -h

Otra razón puede ser que no haya más inodos disponibles (lo que puede ocurrir incluso sin llenar el sistema de archivos). Puedes verificarlo ejecutando:

df -i
# or
tune2fs -l /dev/<your disk device>

información relacionada