Problema com 'mkdir(): Não há espaço restante no dispositivo" no Docker Container. Pode haver algum outro problema?

Problema com 'mkdir(): Não há espaço restante no dispositivo" no Docker Container. Pode haver algum outro problema?

Tenho alguns contêineres docker (NGINX/PHP, MySQL, etc.) que funcionam bem há anos. Porém, recentemente comecei a ver esse erro ao executar um script PHP no Laravel no contêiner NGINX/PHP.

mkdir(): No space left on device

Pelo que sei, parece que ele está sendo lançado/gerado quando o aplicativo web tenta enviar um e-mail durante a etapa Login OTP/2FA, usando Illuminate\Support\Facades\Mail no Laravel. Presumo que haja uma tentativa de gravar em algum tipo de pasta/arquivo de cache ou outro diretório dentro do contêiner que de alguma forma deve estar cheio ou não tem permissão para gravar no local.

Parece que a maioria dos arquivos de cache do nginx estão em: /var/cache/nginx no contêiner.

Embora nada tenha mudado no código recentemente.

Existe uma maneira de verificar o espaço disponível no contêiner ou definir o tamanho alocado para um Docker Container?

Responder1

Não há limitação para a quantidade de disco que um contêiner pode acessar por padrão. Existe uma opção disponível, mas restrita a alguns drivers de armazenamento:opções de driver de armazenamento

É mais provável que não haja mais espaço no dispositivo host onde os contêineres do Docker estão em execução. Você pode verificá-lo em execução:

# df -h

Outra razão pode ser que não haja mais inodes disponíveis (o que pode ocorrer mesmo sem preencher o sistema de arquivos). Você pode verificá-lo em execução:

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

informação relacionada