美文网首页
docker 清理垃圾对象

docker 清理垃圾对象

作者: 惜鸟 | 来源:发表于2020-06-25 17:04 被阅读0次

一、虚悬镜像(none镜像)如何产生

1、 构建镜像过程中因为脚本错误导致很多镜像构建终止,产生很多none标签的镜像
2、 手动构建镜像的时候没有进行提交,遗留下来的垃圾镜像

详细了解虚悬镜像的产生可以查看 docker层和虚悬镜像

由于这些虚悬镜像也占用了大量的存储空间,所以需要删除,docker采用保守的方式来清理未使用的对象(镜像、容器、卷、网络),除非明确的要求,通常情况下docker不会删除这些垃圾对象。

对于每一种对象,docker都提供了prune命令进行修剪清理。

二、如何清理垃圾对象

1、 查看虚悬镜像
# 查看虚悬镜像,-f :表示过滤      dangling:表示虚悬镜像
docker images -f dangling=true
2、 清理虚悬镜像
# 1、使用添加过滤清除
docker rmi $(docker images -q -f dangling=true)

# 2、使用prune修剪清除
docker image prune
3、 清理无容器使用的镜像
docker image prune -a

默认情况下,系统会提示是否继续。要绕过提示,请使用 -f--force 标志。
可以使用 --filter 标志使用过滤表达式来限制修剪哪些镜像。例如,只考虑 24 小时前创建的镜像:

docker image prune -a --filter "until=24h"
4、 清理所有停止的容器
docker container prune
5、 清理所有没有被容器使用的卷
docker volume prune

卷可以被一个或多个容器使用,并占用 Docker 主机上的空间。卷永远不会被自动删除,因为这么做会破坏数据。

6、 清理所有没有被容器使用的网络
docker network prune

Docker 网络不会占用太多磁盘空间,但是它们会创建 iptables 规则,桥接网络设备和路由表条目。要清理这些东西,可以使用 docker network prune 来清理没有被容器未使用的网络。

7、 清理所有虚悬镜像,没有使用的容器、网络
$ docker system prune

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all build cache
Are you sure you want to continue? [y/N] y

docker system prune 命令是修剪镜像、容器和网络的快捷方式。在 Docker 17.06.0 及以前版本中,还好修剪卷。在 Docker 17.06.1 及更高版本中必须为 docker system prune 命令明确指定 --volumes 标志才会修剪卷。

参考文章:
Docker 清理none镜像 Prune命令

相关文章

  • docker 清理垃圾对象

    一、虚悬镜像(none镜像)如何产生 1、 构建镜像过程中因为脚本错误导致很多镜像构建终止,产生很多none标签的...

  • docker 批量垃圾清理

    1.清理不使用的容器 docker下查看所有容器状态; 会发现有除了有Up 正常状态的容器之外还有Created状...

  • 删除Docker没用的镜像,容器,网络,卷,为你的主机“瘦身”

    Docker采用保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非你明确地要求D...

  • JVM - 垃圾回收

    垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么这...

  • 三、GC简介

    一、概念 Garbage Collection(垃圾回收):将无用的对象进行清理以释放空间; GC的对象是JVM堆...

  • Java对象的销毁过程

    我们都知道,Java的内存清理是通过垃圾回收器进行的,那么其是如何将没用的对象被被清理掉的呢。 其实当垃圾回收器准...

  • GC垃圾收集器

    目前所有垃圾收集器都是基于分代收集理论实现垃圾对象的清理,根据对象存活周期将不同的对象分配到同一个内存块中 标记复...

  • 垃圾回收

    垃圾回收机制:不定时的去堆内存中清理不可达对象.垃圾回收器执行是自动的,程序员只能通过System.gc去建议垃圾...

  • 架构师训练营第9周作业 JVM垃圾回收 秒杀架构

    请简述JVM垃圾回收原理 所谓垃圾回收,指的是JVM将堆空间中不再使用的对象清理掉的过程,这是由JVM自动完成的。...

  • 垃圾回收机制算法分析

    什么是垃圾回收机制? 不定时去堆内存中清理不可达对象。不可达的对象并不会马上就会直接回收, 垃圾收集器在一个Jav...

网友评论

      本文标题:docker 清理垃圾对象

      本文链接:https://www.haomeiwen.com/subject/snisfktx.html