Как использовать команду docker scout cache prune для управления кэшем

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как управлять кэшем, используемым командой docker scout. Во время анализа образов docker scout кэширует такие данные, как SBOM (Software Bill of Materials, программный перечень материалов) и информация о уязвимостях, чтобы повысить производительность. С течением времени этот кэш может занять значительное количество дискового пространства.

Вы изучите команду docker scout cache prune и ее параметры. В частности, вы узнаете, как удалить временные данные, как удалить как временные данные, так и кэшированные SBOM, а также как принудительно запустить процесс удаления без подтверждения. По завершении этого практического занятия вы сможете эффективно управлять кэшем docker scout, чтобы освободить дисковое пространство и гарантировать, что вы работаете с актуальными данными при необходимости.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/SystemManagementGroup -.-> docker/prune("Remove Unused Docker Objects") subgraph Lab Skills docker/pull -.-> lab-555199{{"Как использовать команду docker scout cache prune для управления кэшем"}} docker/prune -.-> lab-555199{{"Как использовать команду docker scout cache prune для управления кэшем"}} end

Понимание назначения команды docker scout cache prune

На этом этапе мы разберем назначение команды docker scout cache prune.

При использовании docker scout для анализа образов он кэширует такие данные, как Software Bill of Materials (SBOM, программный перечень материалов) и информация о уязвимостях, чтобы ускорить последующие анализы. С течением времени этот кэш может стать большим и занять значительное количество дискового пространства. Команда docker scout cache prune используется для удаления этих кэшированных данных.

Представьте себе это как очистку кэша веб - браузера. Так же, как очистка кэша браузера может освободить пространство и иногда решить проблемы, удаление кэша Docker Scout может освободить дисковое пространство и гарантировать, что вы работаете с актуальными данными при необходимости.

Команда docker scout cache prune предоставляет параметры для управления тем, какие данные будут удалены. По умолчанию она удаляет временные данные. Вы также можете выбрать удалить кэшированные SBOM.

Мы рассмотрим эти параметры на следующих этапах. Пока просто поймите, что эта команда является инструментом для обслуживания, который позволяет управлять данными, кэшированными docker scout.

Удаление временных данных с помощью команды docker scout cache prune

На этом этапе мы удалим временные данные с помощью команды docker scout cache prune.

Перед удалением давайте имитируем некоторую активность docker scout, чтобы убедиться, что есть данные для удаления. Мы проанализируем простой образ.

Сначала загрузите небольшой образ для работы.

docker pull hello-world

Вы должны увидеть вывод, указывающий на успешную загрузку образа.

Теперь давайте запустим анализ docker scout для этого образа.

docker scout cves hello-world

Эта команда анализирует образ hello-world на предмет наличия Common Vulnerabilities and Exposures (CVE, общих уязвимостей и обнаруженных уязвимостей). Несмотря на то, что hello-world - очень простой образ и, вероятно, не имеет уязвимостей, эта команда все равно сгенерирует и закэширует некоторые временные данные, связанные с процессом анализа.

Вы увидите вывод, показывающий результаты анализа (вероятно, указывающий, что уязвимости не найдены).

Теперь давайте удалим временные кэшированные данные. Запустите команду docker scout cache prune без дополнительных флагов.

docker scout cache prune

При запуске этой команды вас попросят подтвердить действие. Это мера безопасности, чтобы предотвратить случайную потерю данных.

WARNING! This will remove all temporary cache data. Are you sure you want to continue? [y/N]

Введите y и нажмите Enter, чтобы подтвердить.

y

Вы должны увидеть вывод, указывающий, что временные кэшированные данные были удалены, и объем освобожденного пространства. Точный вывод может отличаться в зависимости от количества временных данных, которые были закэшированы.

Эта команда предназначена специально для удаления временных файлов и данных, сгенерированных в процессе работы docker scout, и помогает поддерживать чистоту кэша без удаления более постоянных данных, таких как кэшированные SBOM (о которых мы поговорим на следующем этапе).

Удаление временных данных и кэшированных SBOM с помощью команды docker scout cache prune --sboms

На этом этапе мы удалим как временные данные, так и кэшированные SBOM (Software Bill of Materials, программный перечень материалов) с помощью команды docker scout cache prune --sboms.

На предыдущем этапе мы удалили только временные данные. Кэшированные SBOM - это более постоянные данные, которые генерируются, когда docker scout анализирует образ для создания Software Bill of Materials. Хранение кэшированных SBOM может ускорить будущие анализы того же образа, но они также занимают дисковое пространство.

Чтобы продемонстрировать удаление SBOM, давайте сначала проанализируем образ, чтобы сгенерировать SBOM. Для этого мы используем образ ubuntu.

docker pull ubuntu

Эта команда загружает образ ubuntu.

Теперь давайте сгенерируем и закэшируем SBOM для образа ubuntu.

docker scout sbom ubuntu

Эта команда генерирует SBOM для образа ubuntu и кэширует его. Вы увидите вывод SBOM в терминале.

Теперь давайте удалим как временные данные, так и кэшированные SBOM. Мы будем использовать флаг --sboms с командой docker scout cache prune.

docker scout cache prune --sboms

Снова вас попросят подтвердить действие. На этот раз предупреждение будет указывать, что будут удалены как временные данные, так и кэшированные SBOM.

WARNING! This will remove all temporary cache data and cached SBOMs. Are you sure you want to continue? [y/N]

Введите y и нажмите Enter, чтобы подтвердить.

y

Вы должны увидеть вывод, указывающий, что временные кэшированные данные и кэшированные SBOM были удалены, а также объем освобожденного пространства. Объем освобожденного пространства должен быть больше, чем на предыдущем этапе, так как были удалены и кэшированные SBOM.

Использование флага --sboms позволяет более радикально очистить кэш, что полезно, когда вам нужно освободить больше дискового пространства или если вы предполагаете, что есть проблемы с кэшированными данными SBOM.

Принудительное удаление кэша без подтверждения с использованием флага --force в команде docker scout cache prune

На этом этапе мы узнаем, как принудительно удалить кэш Docker Scout без запроса подтверждения, используя флаг --force.

По умолчанию команда docker scout cache prune требует подтверждения от пользователя, чтобы предотвратить случайное удаление данных. Однако в автоматических скриптах или в ситуациях, когда вы уверены, что хотите удалить кэш, можно использовать флаг --force, чтобы пропустить запрос подтверждения.

Сначала давайте снова сгенерируем некоторый кэш. На этот раз мы проанализируем образ alpine.

docker pull alpine

Эта команда загружает образ alpine.

Теперь давайте запустим анализ docker scout для этого образа, чтобы сгенерировать кэш.

docker scout cves alpine

Эта команда анализирует образ alpine на предмет наличия CVE (Common Vulnerabilities and Exposures, общих уязвимостей и обнаруженных уязвимостей) и кэширует результаты.

Теперь мы удалим кэш, используя флаг --force. Мы также добавим флаг --sboms, чтобы удалить как временные данные, так и кэшированные SBOM (Software Bill of Materials, программный перечень материалов), так как это распространенный случай использования принудительного удаления.

docker scout cache prune --sboms --force

Обратите внимание, что на этот раз вас не попросят подтвердить действие. Команда выполняется сразу и удаляет указанные кэшированные данные.

Вы должны увидеть вывод, указывающий, что временные кэшированные данные и кэшированные SBOM были удалены, аналогичный предыдущему этапу, но без интерактивного запроса подтверждения.

Использование флага --force требует осторожности, так как оно обходит процедуру подтверждения, которая служит мерой безопасности. Лучше использовать этот флаг в неинтерактивных средах или когда вы абсолютно уверены в операции удаления кэша.

Резюме

В этом практическом занятии мы узнали о назначении команды docker scout cache prune, которая используется для управления кэшированными данными, генерируемыми при анализах с помощью docker scout, такими как SBOM (Software Bill of Materials, программный перечень материалов) и информация о уязвимостях. Эта команда помогает освободить дисковое пространство и обеспечивает работу с актуальными данными при необходимости.

Затем мы практиковались в использовании этой команды для удаления временных данных, сгенерированных при анализе docker scout cves образа hello-world. Мы также изучили флаг --sboms для удаления как временных данных, так и кэшированных SBOM, а также флаг --force для пропуска запроса подтверждения при удалении кэша.