Como usar o comando docker trust inspect para examinar informações de confiança da imagem

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o comando docker trust inspect para examinar as informações de confiança associadas às imagens Docker. Você explorará como inspecionar dados de confiança para tags de imagem únicas assinadas e não assinadas, bem como para todas as tags assinadas dentro de um repositório.

Através de exercícios práticos, você obterá experiência prática na verificação da integridade e do editor de imagens, inspecionando suas assinaturas digitais. Você aprenderá como interpretar a saída do comando docker trust inspect e entender a diferença nas informações de confiança entre imagens assinadas e não assinadas. Finalmente, você verá como inspecionar informações de confiança para múltiplas imagens e visualizar a saída em um formato legível por humanos.

Inspecionar informações de confiança para uma única tag de imagem assinada

Nesta etapa, você aprenderá como inspecionar as informações de confiança para uma única tag de imagem assinada usando o comando docker trust inspect. O Docker Content Trust permite que você verifique a integridade e o editor das imagens que você puxa de um registro.

Primeiro, vamos puxar uma imagem assinada. Usaremos a imagem docker/trusttest, que é projetada especificamente para testar o Docker Content Trust.

docker pull docker/trusttest:latest

Você deve ver a saída indicando que a imagem está sendo puxada.

Agora, podemos inspecionar as informações de confiança para esta tag de imagem específica. O comando docker trust inspect é usado para este fim.

docker trust inspect docker/trusttest:latest

A saída deste comando mostrará detalhes sobre as assinaturas associadas à tag da imagem. Isso inclui os signatários e suas chaves. Se a imagem estiver assinada, você verá informações sobre as assinaturas. Se não estiver assinada, a saída indicará que nenhum dado de confiança foi encontrado.

Inspecionar informações de confiança para uma tag de imagem não assinada em um repositório assinado

Nesta etapa, você aprenderá como inspecionar as informações de confiança para uma tag de imagem não assinada dentro de um repositório que contém imagens assinadas. Isso demonstra que, mesmo que um repositório tenha tags assinadas, tags individuais não assinadas não terão informações de confiança.

Continuaremos a usar o repositório docker/trusttest. Na etapa anterior, inspecionamos a tag latest, que é assinada. Agora, vamos tentar inspecionar uma tag que se sabe não estar assinada dentro do mesmo repositório. Usaremos a tag unsigned para este fim.

Primeiro, vamos tentar puxar a tag unsigned.

docker pull docker/trusttest:unsigned

Você deve ver a saída indicando que a imagem está sendo puxada.

Agora, vamos inspecionar as informações de confiança para a tag unsigned usando o comando docker trust inspect.

docker trust inspect docker/trusttest:unsigned

Ao executar este comando, você provavelmente verá a saída indicando que nenhum dado de confiança foi encontrado para esta tag específica. Isso ocorre porque a tag unsigned, apesar de estar em um repositório com tags assinadas, não possui uma assinatura válida em si. Isso destaca que o Docker Content Trust opera em uma base por tag.

Inspecionar informações de confiança para todas as tags assinadas em um repositório

Nesta etapa, você aprenderá como inspecionar as informações de confiança para todas as tags de imagem assinadas dentro de um repositório específico. Isso é útil para obter uma visão geral de quais tags em um repositório são confiáveis.

Continuaremos usando o repositório docker/trusttest. Nas etapas anteriores, analisamos tags individuais. Agora, inspecionaremos todo o repositório para ver todas as tags assinadas.

Para inspecionar todas as tags assinadas em um repositório, você usa o comando docker trust inspect seguido pelo nome do repositório sem uma tag específica.

docker trust inspect docker/trusttest

Ao executar este comando, a saída listará todas as tags dentro do repositório docker/trusttest que possuem dados de confiança válidos associados a elas. Você deve ver informações para a tag latest (que verificamos estar assinada na Etapa 1) e, possivelmente, outras tags assinadas, se existirem nesse repositório. Tags não assinadas, como a tag unsigned que examinamos na Etapa 2, não aparecerão nesta saída.

Este comando fornece uma maneira conveniente de ver rapidamente quais versões de uma imagem em um repositório são consideradas confiáveis de acordo com o Docker Content Trust.

Inspecionar informações de confiança para múltiplas imagens

Nesta etapa, você aprenderá como inspecionar as informações de confiança para múltiplas tags de imagem com um único comando docker trust inspect. Isso é útil quando você deseja verificar o status de confiança de várias imagens específicas de uma só vez.

Inspecionaremos as informações de confiança tanto para a tag assinada latest quanto para a tag não assinada unsigned do repositório docker/trusttest em um único comando.

Para inspecionar múltiplas imagens, você simplesmente lista os nomes das imagens (incluindo a tag) após o comando docker trust inspect, separados por espaços.

docker trust inspect docker/trusttest:latest docker/trusttest:unsigned

Ao executar este comando, a saída mostrará as informações de confiança para cada tag de imagem especificada. Você deve ver os detalhes da assinatura para docker/trusttest:latest e uma indicação de que nenhum dado de confiança foi encontrado para docker/trusttest:unsigned. Isso confirma que você pode verificar eficientemente o status de confiança de múltiplas imagens em uma única operação.

Inspecionar informações de confiança em um formato legível por humanos

Nesta etapa, você aprenderá como exibir as informações de confiança em um formato mais legível por humanos usando a flag --pretty com o comando docker trust inspect. Por padrão, a saída está em formato JSON, o que é útil para scripting, mas menos para inspeção humana rápida.

Inspecionaremos as informações de confiança para a imagem assinada docker/trusttest:latest novamente, mas desta vez adicionaremos a flag --pretty.

docker trust inspect --pretty docker/trusttest:latest

Ao executar este comando, a saída será formatada de uma maneira que é mais fácil de ler e entender. Ela normalmente apresentará as informações em uma estrutura semelhante a uma tabela, mostrando detalhes sobre a imagem, os signatários e suas chaves em um layout claro.

Comparando esta saída com a saída JSON padrão da Etapa 1, você pode ver como a flag --pretty torna as informações de confiança mais acessíveis para revisão humana. Isso é particularmente útil quando você está verificando manualmente o status de confiança de uma imagem.

Resumo

Neste laboratório, aprendemos como usar o comando docker trust inspect para examinar as informações de confiança da imagem. Começamos inspecionando os dados de confiança para uma única tag de imagem assinada, observando os detalhes das assinaturas e signatários associados. Em seguida, exploramos como a inspeção de uma tag de imagem não assinada dentro de um repositório assinado revela que apenas as tags assinadas possuem informações de confiança.

Expandimos ainda mais nossa compreensão inspecionando as informações de confiança para todas as tags assinadas dentro de um repositório e para múltiplas imagens simultaneamente. Finalmente, aprendemos como exibir as informações de confiança em um formato mais legível por humanos, tornando mais fácil interpretar os detalhes da assinatura. Essas etapas forneceram experiência prática na verificação da integridade e do editor de imagens Docker usando o Docker Content Trust.