Como usar o comando docker scout cache prune para gerenciar o cache

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como gerenciar o cache usado pelo comando docker scout. À medida que o docker scout analisa imagens, ele armazena em cache dados como SBOMs e informações de vulnerabilidade para melhorar o desempenho. Com o tempo, este cache pode consumir um espaço em disco significativo.

Você explorará o comando docker scout cache prune e suas opções. Especificamente, você aprenderá como podar dados temporários, como podar dados temporários e SBOMs em cache, e como forçar o processo de poda sem confirmação. Ao final deste laboratório, você será capaz de gerenciar efetivamente o cache do docker scout para liberar espaço em disco e garantir que você esteja trabalhando com dados atualizados quando necessário.

Entenda o propósito do docker scout cache prune

Nesta etapa, entenderemos o propósito do comando docker scout cache prune.

Ao usar o docker scout para analisar imagens, ele armazena em cache dados como Software Bill of Materials (SBOMs) e informações de vulnerabilidade para acelerar análises subsequentes. Com o tempo, este cache pode crescer e consumir um espaço em disco significativo. O comando docker scout cache prune é usado para remover esses dados em cache.

Pense nisso como limpar o cache do seu navegador web. Assim como limpar o cache do seu navegador pode liberar espaço e, às vezes, resolver problemas, podar o cache do Docker Scout pode liberar espaço em disco e garantir que você esteja trabalhando com dados atualizados, se necessário.

O comando docker scout cache prune oferece opções para controlar quais dados são removidos. Por padrão, ele remove dados temporários. Você também pode optar por remover SBOMs em cache.

Exploraremos essas opções nas etapas seguintes. Por enquanto, vamos apenas entender que este comando é uma ferramenta de manutenção para gerenciar os dados em cache pelo docker scout.

Podar dados temporários usando docker scout cache prune

Nesta etapa, podaremos dados temporários usando o comando docker scout cache prune.

Antes de podar, vamos simular alguma atividade do docker scout para garantir que haja dados para podar. Analisaremos uma imagem simples.

Primeiro, puxe uma imagem pequena para trabalhar.

docker pull hello-world

Você deve ver uma saída indicando que a imagem foi puxada com sucesso.

Agora, vamos executar uma análise do docker scout nesta imagem.

docker scout cves hello-world

Este comando analisa a imagem hello-world em busca de Common Vulnerabilities and Exposures (CVEs). Mesmo que hello-world seja uma imagem muito simples e provavelmente não tenha vulnerabilidades, este comando ainda gerará e armazenará em cache alguns dados temporários relacionados ao processo de análise.

Você verá a saída mostrando os resultados da análise (provavelmente indicando que nenhuma vulnerabilidade foi encontrada).

Agora, vamos podar os dados temporários do cache. Execute o comando docker scout cache prune sem nenhuma flag adicional.

docker scout cache prune

Ao executar este comando, você será solicitado a confirmar a ação. Esta é uma medida de segurança para evitar a perda acidental de dados.

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

Digite y e pressione Enter para confirmar.

y

Você deve ver a saída indicando que os dados temporários do cache foram podados e a quantidade de espaço recuperado. A saída exata pode variar dependendo da quantidade de dados temporários que foram armazenados em cache.

Este comando visa especificamente arquivos e dados temporários gerados durante as operações do docker scout, ajudando a manter seu cache limpo sem remover dados mais persistentes, como SBOMs em cache (que abordaremos na próxima etapa).

Podar dados temporários e SBOMs em cache usando docker scout cache prune --sboms

Nesta etapa, podaremos dados temporários e SBOMs em cache usando o comando docker scout cache prune --sboms.

Na etapa anterior, podamos apenas dados temporários. SBOMs em cache são dados mais persistentes gerados quando o docker scout analisa uma imagem para criar um Software Bill of Materials. Manter SBOMs em cache pode acelerar análises futuras da mesma imagem, mas também consome espaço em disco.

Para demonstrar a poda de SBOMs, vamos primeiro analisar uma imagem para gerar um SBOM. Usaremos a imagem ubuntu para isso.

docker pull ubuntu

Este comando puxa a imagem ubuntu.

Agora, vamos gerar e armazenar em cache o SBOM para a imagem ubuntu.

docker scout sbom ubuntu

Este comando gera o SBOM para a imagem ubuntu e o armazena em cache. Você verá a saída do SBOM no seu terminal.

Agora, vamos podar tanto dados temporários quanto SBOMs em cache. Usaremos a flag --sboms com o comando docker scout cache prune.

docker scout cache prune --sboms

Novamente, você será solicitado a confirmar a ação. Desta vez, o aviso indicará que tanto os dados temporários quanto os SBOMs em cache serão removidos.

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

Digite y e pressione Enter para confirmar.

y

Você deve ver a saída indicando que os dados temporários do cache e os SBOMs em cache foram podados, juntamente com a quantidade de espaço recuperado. O espaço recuperado deve ser maior do que na etapa anterior, porque os SBOMs em cache também foram removidos.

Usar a flag --sboms oferece uma limpeza de cache mais agressiva, o que é útil quando você precisa liberar mais espaço em disco ou se suspeitar de problemas com os dados do SBOM em cache.

Forçar a poda sem confirmação usando docker scout cache prune --force

Nesta etapa, aprenderemos como forçar a poda do cache do Docker Scout sem ser solicitado a confirmar, usando a flag --force.

Por padrão, docker scout cache prune requer a confirmação do usuário para evitar a exclusão acidental de dados. No entanto, em scripts automatizados ou em situações em que você tem certeza de que deseja podar o cache, a flag --force pode ser usada para ignorar o prompt de confirmação.

Vamos primeiro gerar alguns dados de cache novamente. Analisaremos a imagem alpine desta vez.

docker pull alpine

Este comando puxa a imagem alpine.

Agora, vamos executar uma análise do docker scout nesta imagem para gerar alguns dados de cache.

docker scout cves alpine

Isso analisa a imagem alpine em busca de CVEs e armazena os resultados em cache.

Agora, podaremos o cache usando a flag --force. Também incluiremos a flag --sboms para podar tanto dados temporários quanto SBOMs em cache, pois este é um caso de uso comum para a poda forçada.

docker scout cache prune --sboms --force

Observe que, desta vez, você não é solicitado a confirmar a ação. O comando é executado imediatamente e poda os dados de cache especificados.

Você deve ver a saída indicando que os dados temporários do cache e os SBOMs em cache foram podados, semelhante à etapa anterior, mas sem o prompt interativo.

Usar --force deve ser feito com cautela, pois ignora a confirmação de segurança. É melhor usado em ambientes não interativos ou quando você tem absoluta certeza sobre a operação de poda.

Resumo

Neste laboratório, aprendemos o propósito do comando docker scout cache prune, que é usado para gerenciar os dados de cache gerados pelas análises do docker scout, como SBOMs e informações de vulnerabilidade. Este comando ajuda a liberar espaço em disco e garante que você esteja trabalhando com dados atualizados quando necessário.

Em seguida, praticamos o uso do comando para podar dados temporários gerados por uma análise docker scout cves na imagem hello-world. Também exploramos a flag --sboms para podar tanto dados temporários quanto SBOMs em cache, e a flag --force para ignorar o prompt de confirmação durante a poda.