Docker:清理Docker占用的磁盘空间

容器清理

  • docker container prune : 仅删除停止运行的容器。
  • docker rm -f $(docker ps -aq) : 删除所有容器(包括停止的、正在运行的)。
  • docker container rm -f $(docker container ls -aq) : 同上。

镜像清理
docker rmi <image id> :通过镜像的id来删除指定镜像。
有一些镜像是隐形的:

  • 子镜像,就是被其他镜像引用的中间镜像,不能被删除。
  • 悬挂状态的镜像,就是不会再被使用的镜像,可以被删除。

其他命令:

  • docker image ls -f dangling=true : 可以列出所有悬挂状态的镜像
    并使用命令 docker image rm $(docker image ls -f dangling=true -q) 或 docker image prune进行删除。
  • docker image rm $(docker image ls -q) :删除所有镜像。但正在被容器使用的镜像无法删除。

数据卷清理

  • docker volume rm $(docker volume ls -q) :删除不再使用的数据卷。
  • docker volume prune :同上。

缓存清理
Docker 18.09 引入了 BuildKit ,提升了构建过程的性能、安全、存储管理等能力。
docker builder prune :删除 build cache。

一键清理
docker system df 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况:

TYPE列出了 Docker 使用磁盘的 4 种类型:

  • Images :所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。
  • Containers :运行的容器占用的空间,表示每个容器的读写层的空间。
  • Local Volumes :容器挂载本地数据卷的空间。
  • Build Cache :镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。

最后的 RECLAIMABLE 是可回收大小。

  • docker system prune : 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。
  • docker system prune -a : 清理得更加彻底,可以将没有容器使用 Docker镜像都删掉。
    注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了。

docker磁盘垃圾清理

  • docker资源占用情况查看
  • docker资源清理
    • 镜像资源清理
    • 容器资源清理
    • 数据卷和网络资源清理
    • 构建缓存清理
  • 参考资料

docker资源占用情况查看

docker用久之后,会遇到磁盘占用越来越大的情况。这个时候可以用docker system df命令来查看docker的资源占用情况。

[rc@localhost ~]$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         1         448.5MB   13.26kB (0%)
Containers      1         0         68B       68B (100%)
Local Volumes   1         1         219.5MB   0B (0%)
Build Cache     0         0         0B        0B

这里分别列出了docker中不同资源类型所占用的磁盘空间,RECLAIMABLE表示当前该种类资源可以回收的空间大小。其中的Build Cache表示平时构建镜像过程中产生的缓存数据,往往是垃圾资源占用的大头。

docker资源清理

镜像资源清理

docker image prune命令可以清理所有标签为none的镜像。

[rc@localhost ~]$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]

也可以手动写出删除的条件,不过这样命令会长一些,比较难记。

docker rmi $(docker images -f dangling=true -q)

容器资源清理

docker container prune命令可以清理所有停止运行的容器。

[rc@localhost ~]$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N]

也可以手动写出删除的条件,不过这样命令会长一些,比较难记。

docker rm $(docker ps -f status=exited -q)

数据卷和网络资源清理

数据卷资源清理。

[rc@localhost ~]$ docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N]

网络资源清理。

[rc@localhost ~]$ docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N]

构建缓存清理

docker用久了,Build Cache那一项可能占据很大的空间,这时候可以用来清理无用的构建缓存。

[rc@localhost ~]$ docker builder prune
WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N]

参考资料

  • 清理 Docker 占用的磁盘空间

转载:docker磁盘垃圾清理 - HachikoT - 博客园
Docker:清理Docker占用的磁盘空间 - 知乎

docker磁盘清理相关推荐

  1. linux磁盘占用满了,docker日志清理

    磁盘分析命令:df -h 查看当前文件夹所有文件大小:du -sh * 查看docker各容器占用的磁盘空间 du -d1 -h /var/lib/docker/containers | sort - ...

  2. Docker 磁盘空间使用分析与清理 解决磁盘空间不足

    用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响. 本文先对 Docker 的空间分析与清理进行说明,然后对 ...

  3. Docker垃圾清理方案

    Docker垃圾清理方案 我们在使用docker的过程中发现基于swarm使用Storage Driver: overlay的方式进行存储.但是发现这个特别占用存储空间. 清理所有停止的容器 dock ...

  4. docker 垃圾清理命令

    docker 垃圾清理 docker system prune命令可以用于清理磁盘,删除关闭的容器.无用的数据卷和网络,以及dangling镜像(即无tag的镜像) # docker system p ...

  5. 分享mac磁盘清理的方法

    你知道mac磁盘清理的方法吗?Mac磁盘同样需要定期清理哦!特别是Macbook Air的用户,原本就比较小的空间没多久就满了,今天小编就和大家分享下mac磁盘清理的方法. 手动清理的方法会涉及到终端 ...

  6. VC.NET扩展Windows磁盘清理工具的功能

    介绍了Windows磁盘清理工具二次开发的扩展接口,对其COM接口加以分解,并运用ATL库具体实现了清理"*.tmp"临时文件的功能. 关键词 磁盘清理工具.ATL库.COM接口. ...

  7. 计算机硬盘清理,电脑磁盘清理,详细教您电脑磁盘怎么清理

    电脑上积累了许多垃圾后,就会变得十分卡.很多人都有这样的感受,随着电脑使用时间段的增长,电脑中的碎片越来越多,垃圾也越来越多,一些不必要的程序也在干扰着电脑的运行,那电脑磁盘怎么清理?下面,小编跟大家 ...

  8. win7磁盘清理_window7越来越卡?系统残余文件太多,磁盘清理可以搞定!!

    在我们使用电脑的过程中电脑中的磁盘会产生不少的碎片,电脑会变得越来越卡.然而很多朋友却不知道win7磁盘清理这个功能在哪里,别着急,下面小编就来告诉你win7磁盘清理功能在哪里,目前win7系统还占据 ...

  9. 这台计算机怎么磁盘清理,电脑硬盘满了怎么清理(教你3招彻底清理内存,瞬间多出几十个G)...

    很多人的电脑使用久了,就会变得越来越卡,今天就来教你3招清理内存的方法,让你的电脑瞬间多出几十G的内存,别再让速度限制了你的自由. 1.首先打开我的电脑,找到C盘,鼠标右击选择[属性],进入到C盘的属 ...

最新文章

  1. DllMain中不当操作导致死锁问题的分析--进程对DllMain函数的调用规律的研究和分析
  2. 【linux草鞋应用编程系列】_3_ 进程间通信
  3. 山东理工大学第十二届ACM程序设计竞赛 - Cut the tree(树上启发式合并+线段树)
  4. 用PHP获取土豆网视频FLV地址
  5. 数字能查出笔迹吗_大家都知道文字可以做笔迹鉴定,我想问一下专家阿拉伯数字是否也可以做笔迹鉴定正确率高吗?...
  6. springboot项目发布JAR包
  7. Spring配置JPA的xml路径的问题
  8. 人是不是不应该善良?
  9. Turbo C 2.0
  10. RHadoop搭建(HBase)
  11. 攻击者视角对AntiSpam工作的分析
  12. Word文档怎么取消密码
  13. Clouda安装和使用过程详解
  14. R语言——自定义函数求置信区间
  15. 解决aria2下载磁力链接或bt文件时没有速度或速度为0
  16. Arduino 驱动TM1638显示十位的共阳数码管
  17. ios xmpp 发送语音图片解决方案
  18. Bugzilla与JIRA的对比
  19. SqlServer中使用charindex和substring函数拆分字段
  20. 北京航空航天大学计算机考研推免比例,2021考研报考人数公布!今年人数暴增了吗?...

热门文章

  1. 1.Windows server 2022 AD域的安装与如何加入域中
  2. 酷开系统壁纸模式,百变画作颠覆想象
  3. [转]Form中控制Tab画布不同标签间切换的方法
  4. 线段树求逆序对(hdu1394Minimum Inversion Number)
  5. JFinal极速开发微信公众号
  6. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数
  7. Java版Word开发工具Aspose.Words功能解析:查找和替换Word文档中的文本
  8. 计算机风扇介绍,如何选择计算机风扇?
  9. Thread.currentThread()方法 Runnable
  10. 桌面文档怎么保存到计算机,word怎么保存不到桌面 word文档怎么保存文件到桌面...