管理命令
为了整理CLI,Docker 1.13引进了新的管理命令,如下:
system
container
image
Docker的老版本中已经有了 network, node, service, swarm 和 volume 。这些新命令组子命令过去作为root命令直接实现。
Docker系统
现在有一个新管理命令 system 。它有4个子命令分别是 df, events, info 和 prune 。命令 docker system df 提供Docker整体磁盘使用率的概况,包括镜像、容器和(本地)volume。所以我们现在随时都可以查看Docker使用了多少资源。
如果之前的命令展示出 docker 已经占用了太多空间,我们会开始清理。有一个包办一切的命令:
docker system prune
这个命令会删除当前没有被使用的一切项目,它按照一种正确的序列进行清理,所以会达到最大化的输出结果。首先删除没有被使用的容器,然后是volume和网络,最后是挂起的镜像。通过使用 y 回复来确认操作。如果想在脚本中使用这个命令,可以使用参数 --force 或者 -f 告诉Docker不要发来确认请求。
docker system prune后可以加额外的参数,如: docker system prune -a : 一并清除所有未被使用的镜像和没有tag镜像。 docker system prune -f : 用以强制删除,不提示信息。
Docker容器
我们已经知道许多 docker container 的子命令。它们过去(现在也是)是 docker 的直接子命令。可以通过下面的命令得到完整的子命令列表:
docker container prune
在列表中会看到一个 prune 命令。如果使用它,那么只会删除无用的容器。因此这条命令比 docker system prune 命令更局限。使用 --force 或者 -f 同意可以让CLI不再进行确认请求。
Docker网络
这里也有一个 prune 命令:
docker network prun
删除所有没有使用的网络。
Docker Volume
volume也有新的 prune 命令了:
docker volume prune
删除所有(本地)没有被容器使用的volume。
Docker镜像
新的镜像命令也是 prune 子命令。--force 用法如上面一样, --all 可以删除所有不用的镜像,不只挂起的镜像。
docker image prune --force --all
这个命令可以删除所有不使用的镜像并且不再请求确认。