You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

排查Docker大卷(300GB)占用来源及无法删除问题

Docker未被引用卷的占用排查方法

以下是针对无法清理的Docker卷的具体排查步骤:

  • 定位卷的宿主机存储路径
    先获取卷在宿主机上的实际挂载目录:

    docker inspect VOLUME_NAME | grep -E "Mountpoint|Source"
    

    输出通常类似 /var/lib/docker/volumes/[VOLUME_NAME]/_data,记下来这个路径。

  • 查找占用该路径的进程
    使用lsof直接扫描目录下的所有打开文件:

    lsof +D /var/lib/docker/volumes/VOLUME_NAME/_data
    

    如果lsof无结果,换用fuser排查:

    fuser -vm /var/lib/docker/volumes/VOLUME_NAME/_data
    

    这两个命令会列出所有持有该卷内文件句柄的进程,包括容器内进程(容器进程在宿主机有对应PID)。

  • 检查所有容器的卷关联
    绕过docker ps的filter,直接遍历所有容器的挂载信息:

    docker ps -a --format '{{.ID}}: {{.Mounts}}' | grep VOLUME_NAME
    

    找到关联容器后,用docker inspect [CONTAINER_ID]确认其状态(比如是否处于暂停、已退出但未清理的特殊状态)。

  • 排查Docker相关服务的占用
    检查Docker守护进程或附属服务是否持有文件句柄:

    ps aux | grep docker
    

    结合lsof -p [PID]查看这些进程的打开文件列表,确认是否关联目标卷。

  • 扫描宿主机所有进程的文件描述符
    如果以上方法都没结果,直接遍历所有进程的文件描述符查找路径引用:

    find /proc -name "fd" -type d | xargs grep -l "/var/lib/docker/volumes/VOLUME_NAME/_data"
    

    结果会显示持有该路径引用的进程PID,再用ps -p [PID]查看进程详情。

内容的提问来源于stack exchange,提问作者Karl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 09:59:54