我在MacOS上使用Docker运行了很多构建。最终会积累很多构建缓存,例如这就是我在docker system df
中看到的:
YPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 22 0 9.67GB 9.67GB (100%)
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 1006 0 258GB 258GB
有没有一种方式可以从构建缓存中清除项目?我可以看到它们的详细列表,例如:CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
045834a7a6e9 regular 11.1MB 3 weeks ago 0 false
114ca5b7280f regular 114MB 3 weeks ago 0 false
27d6fcbb531d regular 1.65kB 3 weeks ago 0 false
3042a2a59d4f regular 553kB 3 weeks ago 0 false
3d70c1a312eb regular 468MB 3 weeks ago 0 false
658aaefc4cdd regular 209MB 3 weeks ago 0 false
7d5b48149871 regular 59.9MB 3 weeks ago 0 false
86569a54d5d4 regular 16.5MB 3 weeks ago 0 false
我可以通过 docker system df -v
等命令查看对象,但是唯一的删除方法是完全擦除所有 Docker 数据,包括镜像等等,这是我不想做的。是否有其他方法让 Docker 重新获取空间?我可以看到那些对象,但是找不到删除它们的方法...
P.S.1 这个问题与如何删除镜像和容器无关。我知道如何删除它们,但是删除任何一个都不会对“构建缓存”内容产生影响,该内容仍然占用空间。
P.S.2 在 MacOS 上尤其重要,因为 Docker 在一个特定的分配卷中运行,这种方式很快就会耗尽空间,并且在构建时出现“磁盘空间不足”的错误。由于构建是反复进行的,因此保留旧构建数据对我没有用处,因此找到一种删除旧构建缓存的方法将会很棒。
df
输出中,构建缓存是一个单独的项目,而且非常大。 - StasM