最近在清理WEB日志时发现映射Docker里的目录内文件手动删除后,系统并没有释放相应的空间,Docker重启、docker system prune也没用。

该问题的表现为通过df命令查看能看到占用几百G,但用du 命令却显示没占用多少。

通过现象判断是在删除nginx日志的时候系统还有进程正在使用该文件,所以并没有释放空间。

这时通过 lsof -n | grep deleted 命令可以查看到有nginx进程使用的文件大小与占用的大小相符,这时通过kill -9 命令强制退出相关进程(需要找到父进程)即可释放空间。

当然 docker system prune在Docker运行时间久了后也能释放一定的空间。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐