Docker 18.09 引入了 BuildKit ,提升了构建过程的性能、安全、存储管理等能力。

​docker system df​​ 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况:

[root@test /]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 34 34 10.1GB 105.6MB (1%)
Containers 60 41 925.2MB 615.9MB (66%)
Local Volumes 40 16 1.481GB 6.402MB (0%)
Build Cache 509 0 17.17GB 17.17GB

TYPE 列出了 Docker 使用磁盘的 4 种类型:

类型

说明

Images

所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。

Containers

运行的容器占用的空间,表示每个容器的读写层的空间。

Local Volumes

容器挂载本地数据卷的空间。

Build Cache

镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。

最后的 RECLAIMABLE 这一列表示可回收的大小。

一键清理 Build Cache 缓存命令:

docker builder prune

如果你希望保留最近一定时间的缓存,删除时长更久的缓存,可以通过添加 ​​--filter​​ 参数实现,例如保留最近10天的缓存示例命令如下:

docker builder prune --filter 'until=240h'

官方资料:​​https://docs.docker.com/engine/reference/commandline/builder_prune/​

另外,命令 ​​docker system prune​​ 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。

添加参数 ​​docker system prune -a​​ 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。

注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉,请注意使用!


(END)