清理docker占用磁盘空间(docker默认目录存在未被管理的空间)
创始人
2024-03-16 12:48:33

粗化清理

#清理卷
docker volume prune#清理镜像
docker image prune#清理容器
docker container prune#清理所有包括:dangling镜像
docker system prune #清理所有,包括未正在使用未正在运行的,可能暂时停止的也会被清【慎用】
docker system prune  -a#如果有buid构建操作,也可以清理
docker builder prune

精确化清理

确定磁盘占用情况
docker system df -v

会列出如下四项占用情况

  • Images space usage:
  • Containers space usage:
  • Local Volumes space usage:
  • Build cache usage: 0B
    根据具体业务需求,删除指定的内容即可

通过默认目录/var/lib/docker/overlay2确定清理

  • 进入/var/lib/docker/overlay2
    执行统计命令
    du -h -d 1 .
    # -h人性化显示
    # -d 1深度为1,也就是统计当前的目录列表
    
  • 查询目录是被什么容器占用
#批量查询占用空间大的目录被谁使用
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep  目录名称

查找到具体容器后, 分析具体的占用,很可能是容器内的日志未挂载出来,在容器内占用大量空间


问题来了,清理未被任何容器挂载的目录(意外)

[root@localhost overlay2]# du -h . -d 1|grep G
1.1G    ./eee3dd098c1ee4a27787e59a263c8ad7c2b100c83661ca35254cf84f790dd6b5
1.8G    ./6d5325096b29ce9662bf3ab7fc0dfdc515b6a1e3ec235a905cd3b2d988fa34a3
5.0G    ./f6196ccb8087085ae04c464263017bfbbd9a6bc4da284114a4678e1bfb67c2b4
41G     ./427ff3952fdad65f0fb8581f5ccc9c5f0d405c2720ca0a612703aacd71481a52
1.4G    ./af233808fb6734a00f3795d71460b0290328a38a5051466ab112d86df066e459
8.5G    ./e30b59f92a59033c84fd3bec986d46be00f91c950803c7a8116f7949d44b219e

通过查找超过1G的目录,发现一个41G大小的目录 ,但未关联上任何的容器,已经关闭的容器也未存在;
说明是已经被删除的容器,但为什么未被同时删除?
进入427ff3952fdad65f0fb8581f5ccc9c5f0d405c2720ca0a612703aacd71481a52目录,进到到diff子目录,发现是nacos的日志文件,以前确实存在容器内的日志未挂载出来的现象;后来已经修正,但不知这里还存在未被清理的内容;

确定确实无任何容器挂载,以后也不会有容器挂载这个目录,直接rm

rm -f  427ff3952fdad65f0fb8581f5ccc9c5f0d405c2720ca0a612703aacd71481a52

相关内容

热门资讯

岛上民众:“一个字也不信” 美国总统特朗普1月21日说,他已同北约秘书长吕特就未来达成有关格陵兰岛的协议制定了框架,对此“各方满...
新华鲜报丨老有所依!我国全面向... (来源:千龙网)新华社北京1月22日电 题:老有所依!我国全面向中度以上失能老年人发放补贴新华社记者...
泽连斯基:乌美俄将在阿联酋举行... (来源:千龙网)新华社瑞士达沃斯1月22日电(记者张兆卿 焦倩)乌克兰总统泽连斯基22日在瑞士达沃斯...
马斯克突袭达沃斯放预告:人形机... 转自:财联社财联社1月23日讯(编辑 赵昊)全球首富、特斯拉CEO埃隆·马斯克最新表示,特斯拉可能会...
Circle CEO:稳定币长... (来源:吴说)Circle 首席执行官 Jeremy Allaire 表示,随着银行业从试点阶段转向...