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>