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

删除Docker容器与镜像后如何清理剩余占用的主机磁盘空间?

Docker删除容器/镜像后磁盘仍满的清理方案
  • 查看Docker空间占用详情
    先运行docker system df,该命令会列出镜像、容器、卷、构建缓存各自的磁盘占用,帮你定位空间消耗来源。

  • 自动清理未使用资源
    执行docker system prune -a,该命令会批量删除:

    • 所有停止运行的容器
    • 未被任何容器引用的镜像(含悬空镜像和闲置镜像)
    • 未使用的网络
    • 全部构建缓存
      若需同时清理未被使用的卷,添加--volumes参数(注意:卷可能存储数据库等重要数据,执行前务必确认无保留价值):
    docker system prune -a --volumes
    
  • 手动清理无用卷
    若不想自动清理所有未使用卷,可单独操作:

    1. 列出所有卷:docker volume ls
    2. 查看卷的关联信息(确认是否被容器使用):docker volume inspect <卷名称>
    3. 删除指定无用卷:docker volume rm <卷名称>
  • 清理构建缓存
    镜像构建产生的缓存可能占用大量空间,可单独清理:

    docker builder prune -a
    

    该命令会删除所有未被镜像引用的构建缓存层。

  • 清理容器日志文件
    容器运行时生成的日志文件可能体积巨大,即使容器已删除,日志仍可能残留:

    1. 查看容器日志目录占用:du -sh /var/lib/docker/containers/*
    2. 删除无用日志文件(替换为实际路径):rm -f /var/lib/docker/containers/<容器ID>/<容器ID>-json.log
    3. 配置日志限制避免后续问题:编辑/etc/docker/daemon.json(不存在则创建),添加日志大小限制:
      {
        "log-driver": "json-file",
        "log-opts": {
          "max-size": "10m",
          "max-file": "3"
        }
      }
      
      保存后重启Docker服务:systemctl restart docker(Linux系统)
  • 检查Docker镜像层目录
    若上述操作后仍有空间占用,可查看/var/lib/docker/overlay2目录(镜像层存储目录),确认是否有未清理的残留。请勿手动删除该目录文件,优先重启Docker后再次执行docker system prune -a。

  • 排查主机其他磁盘占用
    最后确认是否是Docker以外的文件占用磁盘:

    • 用df -h查看磁盘整体使用情况
    • 用du -sh /*定位主机大目录,逐一排查清理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:48:21