docker清理中断构建后产生的镜像和缓存(实际操作)
作者:等风来不如迎风去
Ctrl+C中断构建后,Docker会残留中间层镜像和缓存,清理方法包括删除构建缓存(docker build prune)、移除无标签镜像(docker image prune)、彻底清理(docker system prune -a)及检查空间占用,建议根据需求选择,避免误删,感兴趣的朋友跟随小编一起看看吧
docker清理中断构建后产生的镜像和缓存
你 Ctrl + C
中断构建之后,中间层镜像和构建缓存会残留在本地,占用空间。可以这样清理:
1. 删除构建缓存(推荐方式)
docker builder prune
会清掉未被任何镜像引用的构建缓存层。
如果你想更彻底,加 -a
:
docker builder prune -a
这会把所有缓存层都清掉,下次 docker build
会完全重建。
2. 删除悬空镜像(中断时产生的<none>镜像)
docker image prune
删除无标签(dangling)的镜像。
如果要更狠一点:
docker image prune -a
会删除所有没被容器使用的镜像(包括你没打标签但保留的镜像)。
3. 一步到位大清理(慎用)
如果你想把没用的容器、网络、镜像、缓存全清掉:
docker system prune -a
- 会提示确认,删除范围大(包括没在跑的容器、没用的网络、无标签镜像、缓存)。
4. 检查空间占用
docker system df
能看到 images / containers / local volumes / build cache 的占用情况。
✅ 建议:
- 如果只是打断了一次构建,
docker builder prune
就够了。 - 如果你怀疑有
<none>
镜像残留,再跑docker image prune
。 - 如果磁盘空间告急,可以用
docker system prune -a
来“大扫除”。
实际操作
docker builder prune WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y ID RECLAIMABLE SIZE LAST ACCESSED pklwhooalq0qn7ve1ha4b2r7y* true 9.365kB 12 minutes ago y15m4nhdqb33yo19v029szk6d* true 2.887kB 12 minutes ago i7dovdfsr6h6qektdhxxu6pjt* true 12.15GB 12 minutes ago Total: 12.15GB (05_ep_dev) root@k8s-master-pfsrv:/home/zhangbin/perfwork/01_ai/12_exp_v1.2# docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y Total reclaimed space: 0B
补充:彻底清理Docker镜像的完整指南
彻底清理Docker镜像的完整指南
前言
在使用Docker进行开发后,经常会积累大量的镜像、容器、数据卷和构建缓存,这些会占用大量磁盘空间。本文将详细介绍如何彻底清理Docker环境,释放宝贵的存储空间。
1. 清理目标
- 停止并删除所有运行中的容器
- 删除所有Docker镜像
- 清理数据卷和网络
- 清理构建缓存和历史记录
- 删除构建器实例
2. 详细步骤
第一步:查看当前状态
# 查看所有容器(包括停止的) docker ps -a # 查看所有镜像 docker images # 查看数据卷 docker volume ls # 查看网络 docker network ls # 查看构建器 docker buildx ls
第二步:停止并删除容器
# 停止所有运行中的容器 docker stop $(docker ps -aq) # 删除所有容器 docker rm $(docker ps -aq)
第三步:删除镜像
# 删除特定镜像(替换为你的镜像名和标签) docker rmi 镜像名:标签 # 或者删除所有镜像 docker rmi $(docker images -q)
第四步:清理数据卷和网络
# 删除特定数据卷 docker volume rm 数据卷名 # 删除特定网络 docker network rm 网络名
第五步:清理构建缓存和系统资源
# 清理所有未使用的资源(包括构建缓存) docker system prune -a -f # 清理构建器缓存 docker builder prune -a -f
第六步:删除构建器实例
# 查看构建器列表 docker buildx ls # 删除特定构建器(如果存在) docker context rm -f 构建器名
3.注意事项
- 数据备份:删除前请确保重要数据已备份
- 强制删除:使用
-f
参数可以强制删除正在使用的资源 - 权限要求:某些操作可能需要管理员权限
- 重启服务:清理后建议重启Docker Desktop
💾 空间回收效果
通过以上步骤,通常可以回收:
- 镜像空间:几百MB到几GB
- 构建缓存:几GB到几十GB
- 数据卷:根据使用情况而定
- 总计:通常可以释放5-20GB空间
4.重新开始
清理完成后,如果需要重新使用Docker:
- 重新创建
Dockerfile
- 重新创建
docker-compose.yml
- 重新构建镜像
- 重新启动服务
📝 总结
彻底清理Docker环境是一个系统性的过程,需要按照正确的顺序执行各个步骤。通过本文的指导,你可以安全、高效地清理Docker环境,释放大量磁盘空间,为新的开发工作做好准备。
记住,定期清理Docker环境是一个好习惯,可以避免磁盘空间不足的问题,保持开发环境的整洁。
到此这篇关于docker清理中断构建后产生的镜像和缓存的文章就介绍到这了,更多相关docker清理镜像缓存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!