«

Docker镜像占用空间过大,清理无用镜像容器

时间:2026-10-8 08:10     作者:emer     分类: 无


前言

用了一段时间Docker,磁盘满了。docker images一看,一堆旧镜像和停止的容器占着空间。本文讲怎么清理Docker空间。

一、查看Docker占用空间

docker system df

输出:

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          50        10        15GB      10GB
Containers      30        10        500MB     400MB
Local Volumes   20        5         2GB       1.5GB

RECLAIMABLE 就是可以回收的空间。

二、查看镜像列表

docker images

看REPOSITORY、TAG、SIZE列。

三、清理停止的容器

删除单个容器

docker rm 容器ID/容器名

删除所有停止的容器

docker container prune

会提示确认,输入y。

加-f强制删除

docker container prune -f

不提示直接删。

四、清理无用镜像

删除单个镜像

docker rmi 镜像ID/镜像名

删除所有悬空镜像

悬空镜像就是 <none>:<none> 那些,构建中间产生的。

docker image prune

删除所有未被使用的镜像

docker image prune -a

注意:这会删掉所有没被容器用着的镜像,小心。

五、清理无用卷

查看卷

docker volume ls

删除无用卷

docker volume prune

六、清理无用网络

docker network prune

七、一键全部清理

docker system prune

清理:

连镜像一起删

docker system prune -a

把没被用的镜像也删掉。

加时间过滤

只删24小时前的:

docker system prune -a --filter "until=24h"

八、常见清理场景

场景1:磁盘快满了

# 先看占了多少
docker system df

# 清理停止的容器
docker container prune -f

# 清理悬空镜像
docker image prune -f

# 清理无用卷
docker volume prune -f

场景2:想彻底清理

docker system prune -a -f --volumes

九、手动清理某个镜像

找到镜像ID

docker images

删除

docker rmi 镜像ID

强制删除

如果镜像被停止的容器引用了,先删容器:

docker rm 容器ID
docker rmi 镜像ID

或者强制删:

docker rmi -f 镜像ID

常见坑

坑1:删镜像报错

Error response from daemon: conflict: unable to delete image (must be forced) - image is being used by stopped container

原因: 有停止的容器在用这个镜像。

解决: 先删容器,或者强制删。

坑2:删了镜像,数据还在

镜像删了,但卷还在,数据没丢。

原因: 数据存在卷里,和镜像分开的。

这是好事! 重新起容器挂载同一个卷,数据就回来了。

坑3:docker system prune删多了

把还要用的镜像也删了。

解决: 重要镜像别删,重新pull就行。

坑4:清理完磁盘还是满的

Docker清理了,但磁盘还是100%。

原因: Docker日志文件太大了。

解决: 清理容器日志:

truncate -s 0 /var/lib/docker/containers/*/*-json.log

或者配置日志大小限制。

坑5:构建缓存占空间

docker builder prune

清理构建缓存。

十、定期清理

可以加个定时任务,每周清理一次:

crontab -e

加:

0 3 * * 0 /usr/bin/docker system prune -a -f --filter "until=168h"

每周日凌晨3点清理一周前的。

总结

常用清理命令:

命令 说明
docker system df 看占用空间
docker container prune 清理停止的容器
docker image prune 清理悬空镜像
docker volume prune 清理无用卷
docker system prune -a 一键全清

记住: 定期清理,别等磁盘满了再弄。

遇到问题加QQ23979811 协助处理

标签: Docker 磁盘清理 清理空间 docker prune 镜像清理