From 60ec1bf62c7c2c8d4de38f61c960ade783ea323c Mon Sep 17 00:00:00 2001 From: Zhenkai Jiang Date: Fri, 3 Jul 2015 16:45:06 +0800 Subject: [PATCH] add sections to cleanup unused containers and images --- container/rm.md | 5 +++++ image/rmi.md | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/container/rm.md b/container/rm.md index bb25582..c5dc696 100644 --- a/container/rm.md +++ b/container/rm.md @@ -7,3 +7,8 @@ trusting_newton ``` 如果要删除一个运行中的容器,可以添加 `-f` 参数。Docker 会发送 `SIGKILL` 信号给容器。 + +##清理所有处于终止状态的容器 +用 `docker ps -a` 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用 `docker rm $(docker ps -a -q)` 可以全部清理掉。 + +*注意:这个命令其实会试图删除所有的包括还在运行中的容器,不过就像上面提过的 `docker rm` 默认并不会删除运行中的容器。 \ No newline at end of file diff --git a/image/rmi.md b/image/rmi.md index 7f0f3b1..ed5b62c 100644 --- a/image/rmi.md +++ b/image/rmi.md @@ -9,3 +9,19 @@ Deleted: 5c58979d73ae448df5af1d8142436d81116187a7633082650549c52c3a2418f0 ``` *注意:在删除镜像之前要先用 `docker rm` 删掉依赖于这个镜像的所有容器。 + +##清理所有未打过标签的本地镜像 + +`docker images` 可以列出本地所有的镜像,其中很可能会包含有很多中间状态的未打过标签的镜像,大量占据着磁盘空间。 + +使用下面的命令可以清理所有未打过标签的本地镜像 + +``` +$ sudo docker rmi $(docker images -q -f "dangling=true") +``` + +其中 `-q` 和 `-f` 是缩写, 完整的命令其实可以写着下面这样,是不是更容易理解一点? + +``` +$ sudo docker rmi $(docker images --quiet --filter "dangling=true") +``` \ No newline at end of file