Я использую много сборок с помощью Docker в MacOS. В конце концов, накапливается много кеша сборки, например. вот что я вижу в 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 Этот вопрос не о том, как удалять образы и контейнеры. Я знаю, как их удалить, к сожалению, удаление ничего не делает с содержимым «Build Cache», которое продолжает занимать место.
P.S.2 Это особенно важно в MacOS, потому что там Docker работает в пределах одного конкретного выделенного тома, который таким образом очень быстро исчерпывается, и я начинаю получать ошибки «недостаточно места на диске» при сборке. Поскольку сборки выполняются повторно, хранение данных из старых сборок для меня бесполезно, поэтому было бы здорово найти способ удалить старые кэши сборок.
Нет, к сожалению нет. Я знаю, как удалять изображения и контейнеры. Это специально для кеша сборки, который, как вы можете видеть, является отдельным элементом в выводе df
, и при этом огромным.
Попробуйте это https://docs.docker.com/engine/reference/commandline/builder_prune/
@Ишан, да! Кажется, это работает, кэш сборки уменьшен с 258 ГБ до 37 ГБ, что выглядит намного разумнее. Хотя я не вижу, чтобы это пространство было восстановлено (рабочий стол Docker по-прежнему показывает то же использование диска), я думаю, что это может быть решением. Не могли бы вы добавить это как ответ, чтобы я мог его одобрить?
docker builder prune --all
подробнее: https://docs.docker.com/engine/reference/commandline/builder_prune/
docker builder prune
Удаляет кеш сборки. Документы: docker builder prune
--all имело значение. Без него не работало. (на ОС X)
В моем случае после обрезки образа перезапуск докера помог полностью стереть кеши.
Отвечает ли это на ваш вопрос? Как удалить кешированные/промежуточные образы докеров после того, как кеш станет недействительным