问题:无意间发现linux服务器登陆有问题,使用df命令发现目录满了。
1. 确定哪里占用了大量内存。
cd /
du -sh * | sort -rh
经过一段时间后,显示如下:
// 474G home
// 230G var
// 40G usr
// 10G snap
// ---
根据实际情况,排除有用的存储,发现是/var目录太大,进一步确认,发现是
/var/lib/docker/overlay2太大,导致磁盘爆满。
2. 分析并解决
使用命令
docker system df // 查看
docker container prune // 删除所有停止运行的容器// 使用建议:注意使用管理员权限;确认docker容器状态,要删除的容器已经停止且// 不包含重要的数据与状态,一旦删除不可恢复;运行后会返回一个列表,显示被删// 除容器的ID;建议定期运行
再次使用查询命令docker system df:
可以根据自身情况,再将运行中的docker容器停止,然后重复上面的操作进行删除。
我的这两个还需要使用,不进行删除。
3. 拓展
docker container prune //删除容器,所有停止运行的容器docker system prune // 删除所有停止运行的容器,// 删除所有悬空的镜像,// 删除所有未使用的网络,// 删除所有构建缓存(可选)刚刚使用的是第一个命令解决的问题,第二个命令也可以,但谨慎使用。
如使用第二个命令可以用如下4个命令分别进行细致的清理:
docker image prune
docker container prune
docker volume prune
docker network prune