Docker Build Cache 缓存清理
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Build Cache 缓存清理相关的知识,希望对你有一定的参考价值。
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)
以上是关于Docker Build Cache 缓存清理的主要内容,如果未能解决你的问题,请参考以下文章