Удаление кэша сборки с использованием фильтров
На этом этапе мы рассмотрим, как удалять кэш сборки с использованием фильтров. Фильтры позволяют вам выборочно удалять кэш сборки на основе определенных критериев, предоставляя более детальный контроль над тем, что удаляется.
Мы уже видели фильтр dangling=true
на предыдущем этапе. Другой полезный фильтр - until
, который позволяет удалить кэш сборки, созданный до определенной временной метки.
Сначала пересоберем наш образ myimage:cachetest
, чтобы убедиться, что у нас есть свежий кэш сборки.
Перейдите в каталог ~/project
, если вы еще не находитесь в нем.
cd ~/project
Пересоберите образ:
docker build -t myimage:cachetest -f Dockerfile.cache .
Теперь имитируем сценарий, когда вы хотите удалить кэш сборки, который старше определенного времени. В демонстрационных целях мы используем фильтр для удаления кэша, старшего нескольких минут.
Для удаления кэша сборки, старшего определенного времени, вы можете использовать опцию --filter until=<timestamp>
. Временная метка может быть в различных форматах, включая продолжительность, например 5m
(5 минут) или 2h
(2 часа).
Удалим кэш сборки, который старше 5 минут.
docker builder prune --filter until=5m
Вам будет предложено подтвердить действие. Введите y
и нажмите Enter
.
WARNING! This will remove all build cache created before 5 minutes ago.
Are you sure you want to continue? [y/N] y
В выводе будет показано количество места, освобожденного из кэша сборки, который был старше 5 минут. Если вы только что собрали образ, может не быть много кэша, старшего 5 минут, но в реальной ситуации с множеством сборок по времени этот фильтр может быть очень полезен для очистки старого кэша.
Вы также можете комбинировать фильтры. Например, чтобы удалить неиспользуемый (dangling) кэш, старший определенного времени, вы можете использовать:
docker builder prune --filter dangling=true --filter until=24h
Это удалит только неиспользуемый (dangling) кэш сборки, который старше 24 часов.
Использование фильтров обеспечивает гибкость в управлении кэшем сборки и помогает более стратегически освобождать место на диске.