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清理镜像缓存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控

    Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控

    Rancher 是一套容器管理平台,可以在生产环境中快捷的部署和管理容器,方便的对容器进行cpu内存环境监控、日志监控、扩容缩容,自动重启,这篇文章主要介绍了Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控,需要的朋友可以参考下
    2022-04-04
  • docker 的java编译环境构建详细介绍

    docker 的java编译环境构建详细介绍

    这篇文章主要介绍了docker 的java编译环境构建详细介绍的相关资料,具有一定的参考价值,需要的朋友可以参考下
    2016-11-11
  • docker save和docker load的具体使用

    docker save和docker load的具体使用

    本文详细介绍了docker save和docker load命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Docker Desktop无法正常启动解决(failed to start...)

    Docker Desktop无法正常启动解决(failed to start...)

    有一段时间没有使用docker了,突然要用到结果发现docker desktop用不了了,这篇文章主要给大家介绍了关于Docker Desktop无法正常启动解决的过程,,需要的朋友可以参考下
    2023-01-01
  • Docker安装LNMP环境的详细过程(可部署TP项目)

    Docker安装LNMP环境的详细过程(可部署TP项目)

    这篇文章主要介绍了Docker安装LNMP环境的详细过程(可部署TP项目),主要包括安装docker,安装nginx,安装php的命令详解,需要的朋友可以参考下
    2022-06-06
  • docker查看运行容器日志的步骤

    docker查看运行容器日志的步骤

    本文主要介绍了docker查看运行容器日志的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Docker调度器Kubernetes使用过程

    Docker调度器Kubernetes使用过程

    Docker和Kubernetes在使用方式上有相似性,初次接触这两个技术的同学常常会搞混,但实际上它们并不是解决同一个问题的技术,也没有办法用其中一个替代另一个。通俗一点来说,Docker解决的是容器技术直接相关的问题,而Kubernetes更多地关注在集群上调度和部署容器应用
    2022-12-12
  • Docker容器与宿主机相互访问更方便的方法

    Docker容器与宿主机相互访问更方便的方法

    Docker是当今使用范围最广的开源容器技术之一,具有高效易用的优点,然而如果使用Docker时采取不当安全策略,则可能导致系统面临安全威胁,这篇文章主要给大家介绍了关于Docker容器与宿主机相互访问更方便的方法,需要的朋友可以参考下
    2023-05-05
  • Linux搭建Docker环境的详细过程(最新推荐)

    Linux搭建Docker环境的详细过程(最新推荐)

    Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版),相对于社区版本,企业版本强调安全性,但需付费使用,这里我们使用社区版本即可,这篇文章给大家介绍Linux搭建Docker环境的详细过程,感兴趣的朋友一起看看吧
    2025-04-04
  • 使用Docker部署Angular项目的方法步骤

    使用Docker部署Angular项目的方法步骤

    这篇文章主要介绍了使用Docker部署Angular项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论