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 标志,用于保留在最后持续时间(例如 24h2h30m,允许的单位为 (h)小时(m)分钟(s)秒)内使用的记录。
  • id 标志,用于指定特定镜像 ID。
  • parents 标志,用于指定作为给定镜像 ID 的父级的记录。多个父级 ID 用分号 (;) 分隔。
  • description 标志,用于指定描述包含给定子字符串的记录。
  • inuse 标志,用于指定正在积极使用且因此不可回收的记录。
  • mutable 标志,用于指定可变记录。
  • immutable 标志,用于指定不可变记录。
  • shared 标志,用于指定与其他资源(通常是镜像)共享的记录。
  • private 标志,用于指定不共享的记录。
  • type 标志,用于按类型指定记录。有效类型是
    • 内部
    • 前端
    • source.local
    • source.git.checkout
    • exec.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 标志允许设置构建缓存可以使用的最大磁盘空间量。如果缓存使用的磁盘空间超过此值,则会删除最近最少使用的缓存记录,直到总使用空间小于或等于指定值。

该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb2gb 等。单位不区分大小写。

清除后目标可用磁盘空间量 (--min-free-space)

--min-free-space 标志允许设置清除后应可用的目标磁盘空间量。如果可用磁盘空间小于此值,则会删除最近最少使用的缓存记录,直到可用空间大于或等于指定值。

该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb2gb 等。单位不区分大小写。

始终允许缓存保留的磁盘空间量 (--reserved-space)

--reserved-space 标志允许设置应始终为构建缓存保留的磁盘空间量。如果可用磁盘空间小于此值,则会删除最近最少使用的缓存记录,直到可用空间大于或等于指定值。

该值以字节为单位指定。您可以使用人类可读的内存字符串,例如 128mb2gb 等。单位不区分大小写。

覆盖已配置的构建器实例(--builder)

buildx --builder

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.