docker buildx prune
| 描述 | 移除构建缓存 |
|---|---|
| 用法 | docker buildx prune |
描述
清除所选构建器的构建缓存。
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
-a, --all | 包含内部/前端镜像 | |
--filter | 提供筛选值 | |
-f, --force | 不提示确认 | |
--max-used-space | 允许缓存保留的最大磁盘空间量 | |
--min-free-space | 清除后目标可用磁盘空间量 | |
--reserved-space | 始终允许缓存保留的磁盘空间量 | |
--verbose | 提供更详细的输出 |
示例
包含内部/前端镜像 (--all)
--all 标志允许清除内部辅助镜像和使用 #syntax= 指令或 BUILDKIT_SYNTAX 构建参数设置的前端镜像。
提供筛选值 (--filter)
您可以使用 --filter 标志精细控制要删除的缓存记录。
筛选器格式为 <key><op><value>,称为选择器。所有选择器都必须与目标对象匹配,筛选器才为真。我们定义了用于相等性的运算符 =,用于不相等的运算符 !=,以及用于正则表达式的运算符 ~=。
有效的筛选键是
until标志,用于保留在最后持续时间(例如24h或2h30m,允许的单位为(h)小时、(m)分钟和(s)秒)内使用的记录。id标志,用于指定特定镜像 ID。parents标志,用于指定作为给定镜像 ID 的父级的记录。多个父级 ID 用分号 (;) 分隔。description标志,用于指定描述包含给定子字符串的记录。inuse标志,用于指定正在积极使用且因此不可回收的记录。mutable标志,用于指定可变记录。immutable标志,用于指定不可变记录。shared标志,用于指定与其他资源(通常是镜像)共享的记录。private标志,用于指定不共享的记录。type标志,用于按类型指定记录。有效类型是内部前端source.localsource.git.checkoutexec.cachemount常规
示例
docker buildx prune --filter "until=24h"
docker buildx prune --filter "description~=golang"
docker buildx prune --filter "parents=dpetmoi6n0yqanxjqrbnofz9n;kgoj0q6g57i35gdyrv546alz7"
docker buildx prune --filter "type=source.local"
docker buildx prune --filter "type!=exec.cachemount"
注意多个
--filter标志是 AND 关系。
允许缓存保留的最大磁盘空间量 (--max-used-space)
--max-used-space 标志允许设置构建缓存可以使用的最大磁盘空间量。如果缓存使用的磁盘空间超过此值,则会删除最近最少使用的缓存记录,直到总使用空间小于或等于指定值。
该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb、2gb 等。单位不区分大小写。
清除后目标可用磁盘空间量 (--min-free-space)
--min-free-space 标志允许设置清除后应可用的目标磁盘空间量。如果可用磁盘空间小于此值,则会删除最近最少使用的缓存记录,直到可用空间大于或等于指定值。
该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb、2gb 等。单位不区分大小写。
始终允许缓存保留的磁盘空间量 (--reserved-space)
--reserved-space 标志允许设置应始终为构建缓存保留的磁盘空间量。如果可用磁盘空间小于此值,则会删除最近最少使用的缓存记录,直到可用空间大于或等于指定值。
该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb、2gb 等。单位不区分大小写。