温馨提示×

如何清理CentOS docker垃圾

小樊
45
2026-07-08 22:00:27
栏目: 智能运维

清理 CentOS 上的 Docker 垃圾(未使用的容器、镜像、卷、网络等)可以释放磁盘空间。以下是常用且安全的清理方法,按从安全到彻底排序。


一、查看 Docker 磁盘占用(先看再清)

docker system df

输出示例:

TYPE            TOTAL   ACTIVE   SIZE      RECLAIMABLE
Images          10      3        2.5GB     1.8GB (72%)
Containers      20      5        500MB     400MB (80%)
Local Volumes   5       1        1GB       900MB (90%)
Build Cache     0       0        0B        0B

二、安全清理(推荐)

✅ 删除已停止的容器

docker container prune

或指定时间(如 24 小时前):

docker container prune --filter "until=24h"

✅ 删除未被使用的镜像(悬空镜像)

docker image prune

删除所有未被容器使用的镜像(⚠慎用):

docker image prune -a

✅ 删除未使用的卷(⚠ 数据可能丢失)

docker volume prune

卷删除不可逆,确认没有重要数据。


✅ 删除未使用的网络

docker network prune

三、一键清理所有 Docker 垃圾(最常用 ✅)

docker system prune

更彻底(删除所有未使用镜像 + 卷)

docker system prune -a --volumes

生产环境慎用,会删除:

  • 所有已停止容器
  • 所有未使用镜像
  • 所有未使用卷
  • 所有未使用网络

四、清理 Docker Build Cache(构建缓存)

docker builder prune

清理所有构建缓存:

docker builder prune -a

五、手动清理 Docker 目录(进阶)

Docker 默认目录:

/var/lib/docker

不建议直接删除该目录,除非你完全卸载 Docker。

查看目录占用

du -sh /var/lib/docker/*

六、CentOS 系统级清理(非 Docker 专用)

清理 yum 缓存

yum clean all
rm -rf /var/cache/yum

查找大文件

find / -xdev -size +500M

七、定时自动清理(推荐)

docker system prune -f --filter "until=168h"

可加入 crontab:

0 3 * * 0 docker system prune -f

八、常见错误 & 建议

✅ 生产环境:

  • 只用 prune,不用 -a --volumes
  • 清理前确认容器、卷无重要数据

✅ 开发环境:

  • 可定期 docker system prune -a --volumes

如果你愿意,可以告诉我:

  • ✅ 是 生产 / 测试 / 本地开发
  • ✅ Docker 版本(docker version
  • ✅ 磁盘占用情况

我可以给你最安全的清理方案

0