有没有办法清理docker构建缓存?

问题描述 投票:0回答:3

我在 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 在一个特定的分配卷中运行,这种方式很快就会耗尽,并且在构建时我开始遇到“磁盘空间不足”错误。由于构建是重复完成的,因此保留旧构建中的数据对我来说没有用,因此找到一种删除旧构建缓存的方法会很棒。

macos docker
3个回答
78
投票
docker builder prune

删除构建缓存。文件:

docker builder prune


46
投票
docker builder prune --all

更多详细信息:https://docs.docker.com/engine/reference/commandline/builder_prune/


0
投票

此命令帮助我强制清除所有 docker [compose] build/container/image/env 缓存。所有环境都将从内存中删除,一切都将被重建。

docker system prune --all --force

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.