docker 文件把 inode 占满了怎么办呐

5 min read

/var/lib/docker/overlay2 下面有 300w 文件 直接把 inode 占了 80%多

编译程序会出现 no space left on device

磁盘有 50g 容器有接近 10 个吧

已经用 docker system prune -a -f 清理过了 没有多余的容器和镜像了

还有什么办法可以解决?
可以尝试以下方法:

  1. 清理不需要的容器和镜像:

使用docker system prune命令清理不需要的容器和镜像。

  1. 检查应用程序日志:

如果在应用程序中启用了详细的日志记录,可能会导致大量的日志文件。 此时可以定期清理日志文件。

  1. 调整docker容器存储优化:

可以在Docker配置文件中更改默认值,以便最小化底层存储的使用,从而减少inode的使用。 例如,可以将Docker根目录重定向到具有更高inode配额的分区。

  1. 升级Docker:

某些版本的Docker可能存在inode泄漏或其他问题。 可以尝试升级到最新版本,以获取更好的性能和稳定性。

  1. 手动清理Overlay2存储:

如果/var/lib/docker/overlay2下的文件数量仍然很大,则可能需要手动清理它们。 可以使用du和rm命令来查找和删除不需要的文件。 但是,请注意,手动更改Docker存储可能会导致不可逆的问题。 一定要备份所有数据,并先测试所有更改。