docker清理中断构建后产生的镜像和缓存(实际操作)

 更新时间:2025年09月18日 10:09:12   作者:等风来不如迎风去  
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.注意事项

  1. 数据备份:删除前请确保重要数据已备份
  2. 强制删除:使用 -f 参数可以强制删除正在使用的资源
  3. 权限要求:某些操作可能需要管理员权限
  4. 重启服务:清理后建议重启Docker Desktop

💾 空间回收效果

通过以上步骤,通常可以回收:

  • 镜像空间:几百MB到几GB
  • 构建缓存:几GB到几十GB
  • 数据卷:根据使用情况而定
  • 总计:通常可以释放5-20GB空间

4.重新开始

清理完成后,如果需要重新使用Docker:

  1. 重新创建 Dockerfile
  2. 重新创建 docker-compose.yml
  3. 重新构建镜像
  4. 重新启动服务

📝 总结

彻底清理Docker环境是一个系统性的过程,需要按照正确的顺序执行各个步骤。通过本文的指导,你可以安全、高效地清理Docker环境,释放大量磁盘空间,为新的开发工作做好准备。

记住,定期清理Docker环境是一个好习惯,可以避免磁盘空间不足的问题,保持开发环境的整洁。

到此这篇关于docker清理中断构建后产生的镜像和缓存的文章就介绍到这了,更多相关docker清理镜像缓存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker compose up 命令默认配置文件自动查找规则详解

    docker compose up 命令默认配置文件自动查找规则详解

    DockerCompose在没有指定配置文件时,会按照优先级顺序查找compose.yaml、compose.ymldocker-compose.yml等文件,官方推荐使用compose.yaml,本文给大家介绍docker compose up 命令默认配置文件自动查找规则详解,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • 如何在mac上用docker对Oracle进行部署使用

    如何在mac上用docker对Oracle进行部署使用

    这篇文章主要介绍了如何在mac上用docker对Oracle进行部署使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Docker Network命令进行容器网络管理的完整指南

    Docker Network命令进行容器网络管理的完整指南

    Docker 网络是容器化架构中的关键组件,它决定了容器之间以及容器与外部世界的通信方式,本文主要介绍了Docker如何通过Network命令进行容器网络管理,希望对大家有所帮助
    2025-09-09
  • 快速设置Docker的三种网络代理配置方式

    快速设置Docker的三种网络代理配置方式

    这篇文章主要介绍了快速设置Docker的三种网络代理配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker Redis 7.2.3 部署方式

    Docker Redis 7.2.3 部署方式

    使用Docker启动Redis时若遇到不断重启的问题,可能是由于配置文件中的“daemonize yes”与Docker的重启策略“--restart=always”发生冲突,本文给大家介绍Docker Redis 7.2.3 部署方式,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • 在 docker 之间导出导入镜像的方法

    在 docker 之间导出导入镜像的方法

    本篇文章主要介绍了在 docker 之间导出导入镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Docker目录迁移的实现示例

    Docker目录迁移的实现示例

    Docker默认目录比较小,容器日志过多就会导致无法运行,本文主要介绍了Docker目录迁移的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • docker prune命令可定时清理不常用数据的实现

    docker prune命令可定时清理不常用数据的实现

    磁盘使用过久就会导致磁盘空间越来越小,这时候就需要删除不相关的数据来释放磁盘空间,本文主要使用docker prune命令可定时清理不常用数据的实现,感兴趣的可以了解一下
    2021-10-10
  • docker-compose安装yml文件配置方式

    docker-compose安装yml文件配置方式

    这篇文章主要介绍了docker-compose安装,yml文件配置,离线安装及在线安装的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • docker容器启动后如何修改或添加端口

    docker容器启动后如何修改或添加端口

    这篇文章主要介绍了docker容器启动后如何修改或添加端口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论