用了一段时间Docker后,会发现它占用了不少硬盘空间。还好Docker 1.13引入了解决方法,它提供了简单的命令System来查看/清理Docker使用的磁盘空间。
Docker 的内置 CLI 指令docker system df,可用于查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况。
空间清理
不同状态 | 已使用镜像(used image) | 未引用镜像(unreferenced image) | 悬空镜像(dangling image) |
---|---|---|---|
镜像含义 | 指所有已被容器(包括已停止的)关联的镜像。 | 没有被分配或使用在容器中的镜像 | 未配置任何 Tag (也就无法被引用)的镜像 |
Docker内置自动清理:
通过 Docker 内置的 CLI 指令docker system prune来进行自动空间清理。
docker system prune 自动清理说明:
-
该指令默认会清除所有如下资源:
- 已停止的容器(container)
- 未被任何容器所使用的卷(volume)
- 未被任何容器所关联的网络(network)
- 所有悬空镜像(image)。
-
该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。添加-a 或 --all参数后,可以一并清除所有未使用的镜像和悬空镜像。
-
可以添加-f 或 --force参数用以忽略相关告警确认信息。
手工清理
见手工清理文章.