• docker删除没用的镜像


    Docker采用保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非你明确地要求Docker这样做,否则通常不会删除这些对象。这可能导致Docker占用较多额外的磁盘空间。对于每种类型的对象,Docker都提供了一个prune命令修剪一次清理多种类型的对象。本文主要说明如何使用这些prune命令。
    prune 镜像
    该Docker 镜像 prune命令允许你清理未使用的镜像。默认情况下,docker image prune仅清除dangling 镜像。dangling images是未标记的镜像,并且未被任何容器引用。要删除dangling images:
    要删除现有容器未使用的所有镜像,请使用-a标志:
    $ docker image prune -a
    WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? [y/N] y
    默认情况下,系统会提示您继续。要绕过提示,请使用-f或--force标志强制删除
    您可以使用带有--filter标志的过滤(表达式)限制修剪(删除)哪些镜像。例如,要仅考虑超过24小时前创建的镜像:
    $ docker image prune -a --filter"until = 24h"
    其他过滤表达式可用。有关更多示例,请参阅docker image prune 参考。
    prune 容器
    停止容器时,除非使用--rm标志启动容器,否则不会自动删除容器。要查看Docker主机上的所有容器(包括已停止的容器),请使用docker ps -a。您可能会惊讶地发现存在多少个容器,尤其是在开发系统上!停止的容器的可写层仍然占用(占据)磁盘空间。要清除它,可以使用docker container prune命令。
    $ docker container prune
    WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y
    默认情况下,系统会提示您继续。要绕过提示,请使用-f或--force标志。
    默认情况下,将删除所有已停止的容器。您可以使用--filter标志限制范围。例如,以下命令仅删除超过24小时的已停止容器:
    $ docker container prune --filter"until = 24h"
    其他过滤表达式可用。有关更多示例,请参阅docker container prune 参考。
    prune 数据卷
    卷可以由一个或多个容器使用,占用Docker主机上的空间。卷永远不会自动删除,因为这样做可以破坏数据。
    $ docker volume prune
    WARNING! This will remove all volumes not used by at least one container. Are you sure you want to continue? [y/N] y
    默认情况下,将删除所有未使用的卷。您可以使用--filter标志限制范围。例如,以下命令仅删除未使用保留标签标记的卷(下面的命令只删除未标记为保留标签的卷):
    $ docker volume prune --filter"label!= keep"
    其他过滤表达式可用。有关更多示例,请参阅docker volume prune 参考。
    prune 网络
    Docker网络不占用太多磁盘空间,但它们确实创建了iptables规则,桥接网络设备和路由表条目。要清理这些内容,您可以使用docker network prune来清理任何容器未使用的网络。
    $ docker network prune
    WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue? [y/N] y
    默认情况下,系统会提示您继续。要绕过提示,请使用-f或--force标志。
    默认情况下,将删除所有未使用的网络。您可以使用--filter标志限制范围。例如,以下命令仅删除超过24小时的网络:
    prune 一切
    docker system prune命令是修剪镜像,容器,和网络的快捷方式。在Docker 17.06.0及更早版本中,卷也被修剪。在Docker 17.06.1及更高版本中,必须为docker system prune指定修剪卷的--volumes标志。
    $ 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 17.06.1或更高版本,并且还希望修剪卷,请添加--volumes标志:
    $ docker system prune --volumes
    WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? [y/N] y

  • 相关阅读:
    性能测试之开源的性能监控软件
    POJ 2553 The Bottom of a Graph TarJan算法题解
    Spring AOP切面
    [2014.5.22][UBUNTU]Ubuntu与Windows系统时间不同步的问题
    MySQL bug:server-id默认被自己主动置为1
    [Android]Fragment源代码分析(二) 状态
    window nginx 启动无提示错误,却没有listen 80port
    Shell 命令--文件创建、搜索命令--总结自《Linux Shell 脚本攻略》
    freemarker 自己定义指令
    javascript Deferred和递归次数限制
  • 原文地址:https://www.cnblogs.com/lidezhen/p/13526697.html
Copyright © 2020-2023  润新知