@SOLUTION· 2020-01-30 23:21 · 8 min read

概述

用法

  1. [root@liqiang.io]# docker system prune --help
  2. Usage: docker system prune [OPTIONS]
  3. Remove unused data
  4. Options:
  5. -a, --all Remove all unused images not just dangling ones
  6. --filter filter Provide filter values (e.g. 'label=<key>=<value>')
  7. -f, --force Do not prompt for confirmation
  8. --volumes Prune volumes

    详解

    prune 可以用于清理容器,网络,镜像,Volume 等。如果不加参数,那么清理的内容包括:
  • 所有被停掉的容器;
  • 所有没有被容器使用的网络;
  • 悬挂的镜像;
  • 所有构建过程中的缓存;

但是这不会删除 Volume,因为 Docker 认为 Volume 的价值很高,可能储存了珍贵的数据,所以,如果你墙裂要求要删的话,试一下:

  1. [root@liqiang.io]# docker system prune -a --volumes

这里 -a 参数也不会删除 Volume,是后面的 --volumes 参数其效果的,它会删除的内容包括:

  • 所有被停掉的容器;
  • 所有没有被容器使用的网络;
  • 所有没有被容器使用的 Volume;
  • 没有容器管理的镜像;
  • 所有构建过程中的缓存;

    过滤器

    当然,如果你想要更加精准的删除的话,可以给各种资源打上标签,这样你就可以通过标签保留你想要的资源了。如果没有标签,也没有关系,有一个默认的标签 util,你可以用它删除一些太老的容器之类的,例如:
  1. [root@liqiang.io]# docker container prune --filter "until=24h"