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