首页/云/云与容器速查/docker system df 磁盘占用
容器与 Docker106 条

docker system df 磁盘占用

查看 Docker 各资源占用(镜像/容器/卷/构建缓存)与可回收量:磁盘告警时第一眼工具,-v 显示卷明细。

云与容器速查云更新于 2026-10-13

docker system df 是什么

docker system df 汇总 Docker 各占用的磁盘空间:镜像、容器、本地数据卷与构建缓存,并给出其中可回收的容量。磁盘告警时它是第一眼要看的工具——先分清是镜像堆积、容器可写层写满,还是数据卷膨胀,再决定用哪种清理手段。加 -v 会展开明细,能直接定位到具体是哪个卷或哪个镜像占了空间。

基本信息

输出类型Images、Containers、Local Volumes、Build Cache 四类
关键列SIZE 是总占用,RECLAIMABLE 是可回收的空间
-v 参数展开明细,列出每个镜像、容器与卷的具体用量
进一步下钻用 du 查看 /var/lib/docker 下各子目录的实际占用
使用前提需要 Docker 守护进程可访问,只读命令不影响业务

典型使用场景

  • 磁盘告警第一步:确认空间被哪类资源吃掉,避免盲目清理
  • 清理前评估:看 RECLAIMABLE 决定做保守清理还是彻底清理
  • 卷泄漏排查:-v 展开后定位异常膨胀的数据卷
  • CI 机器巡检:定时记录各资源占用,观察增长趋势
  • 发布前腾空间:镜像拉取前确认剩余空间是否够用

使用示例

使用示例
docker system df                      # 四类资源的总览与可回收量
docker system df -v                   # 展开明细,逐项看镜像/容器/卷
docker system df -v | head -n 40      # 明细较长,先看前几屏
du -sh /var/lib/docker/volumes/* 2>/dev/null | sort -rh | head   # 定位大卷
df -h /var/lib/docker                 # 确认宿主分区真实剩余空间

输出逐列读法

列含义关注点
TYPE资源类型先判断空间被哪类吃掉
TOTAL该类的资源数量镜像数量暴涨通常说明版本堆积
ACTIVE正在被使用的数量活跃数为零说明可以安全清理
SIZE占用总空间与宿主分区容量对比看压力
RECLAIMABLE可安全回收的空间为零说明清理也没用,要去查卷
构建缓存在 CI 机器上增长最快,数据卷在数据库与上传目录场景增长最快。按机器用途区分治理策略,比一刀切地清理更有效。
当 RECLAIMABLE 很小但磁盘依然吃紧,问题通常在数据卷或容器可写层:用 -v 展开明细,或直接查看卷目录大小,而不是反复执行清理命令。

易错点

  • 磁盘告警只看总体不看 -v,找不到到底是哪个卷在膨胀
  • 清理前没看可回收量,做了半天无用功
  • 只看 Docker 占用而忽略宿主日志与其他目录,误判为 Docker 吃满磁盘
  • 把 RECLAIMABLE 为零理解成没有垃圾,实际是垃圾都在活跃卷里

数据来源与参考

  • Docker Docs:docker system df

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌