1. 使用 docker builder prune 清理构建缓存

docker builder prune 是清理构建缓存的专用命令。它不会删除已使用或未使用的镜像,只清理构建过程中产生的中间缓存层。

运行以下命令即可:

docker builder prune

如果你需要更精确的控制,使用 -f 跳过确认提示:

docker builder prune -f

清除指定的缓存(如只清理超过一定时间未使用的缓存):

docker builder prune --filter until=24h

上述命令将清理 24 小时未使用的缓存。

  1. 检查现有缓存和磁盘使用情况

在清理之前,你可以使用以下命令检查缓存占用情况:

docker system df

这会列出构建缓存、镜像、容器等的存储占用情况。

  1. 仅清理构建缓存,而不影响镜像和容器

如果不想影响现有的镜像和容器,也可以手动删除构建缓存相关的中间层。

清理中间层(旧版本的缓存方式)

运行以下命令清理构建产生的中间镜像层:

docker image prune

如果构建缓存是孤立层(没有被任何镜像使用),可以添加 -a:

docker image prune -a

注意:docker image prune -a 会删除未标记为“保留”的所有未使用镜像,而不会影响已运行的容器或已使用的镜像。

以上方法可以安全地清理构建缓存,同时保留所有已使用和未使用的镜像。