Como usar o comando docker manifest rm para excluir listas de manifestos

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a gerenciar listas de manifestos do Docker, que são essenciais para criar imagens multi-arquitetura. Abordaremos o processo de criação de uma lista de manifestos combinando imagens para diferentes plataformas, verificando sua existência usando o comando docker manifest inspect e, finalmente, demonstrando como excluir uma lista de manifestos usando o comando docker manifest rm. Este exercício prático fornecerá experiência em lidar com listas de manifestos dentro do seu fluxo de trabalho Docker.

Criar uma lista de manifestos

Nesta etapa, aprenderemos como criar uma lista de manifestos no Docker. Uma lista de manifestos é uma lista de manifestos de imagem, que permite usar um único nome de imagem para se referir a imagens para diferentes arquiteturas e sistemas operacionais. Isso é particularmente útil para construir imagens multi-arquitetura.

Primeiro, vamos puxar duas imagens diferentes que usaremos para criar nossa lista de manifestos. Usaremos a imagem alpine para as arquiteturas amd64 e arm64.

docker pull alpine:latest
docker pull --platform arm64 alpine:latest

O primeiro comando puxa a imagem alpine:latest para sua arquitetura atual (provavelmente amd64). O segundo comando puxa explicitamente a imagem alpine:latest para a arquitetura arm64.

Agora, podemos criar a lista de manifestos usando o comando docker manifest create. A sintaxe é docker manifest create TARGET_IMAGE SOURCE_IMAGE [SOURCE_IMAGE...]. Criaremos uma lista de manifestos chamada my-alpine:latest que inclui as imagens alpine:latest para amd64 e arm64.

docker manifest create my-alpine:latest alpine:latest alpine:latest --amend alpine:latest --platform arm64

Neste comando:

  • my-alpine:latest é o nome da nova lista de manifestos que estamos criando.
  • alpine:latest é a primeira imagem de origem (para a arquitetura padrão).
  • --amend alpine:latest --platform arm64 adiciona a imagem alpine:latest para a plataforma arm64 à lista de manifestos.

Após executar este comando, você criou uma lista de manifestos localmente. No entanto, ela ainda não foi enviada para um registro. Nós a enviaremos em uma etapa posterior.

Verificar a existência da lista de manifestos

Na etapa anterior, criamos uma lista de manifestos chamada my-alpine:latest. Agora, verificaremos se essa lista de manifestos foi criada com sucesso e existe localmente.

Podemos usar o comando docker manifest inspect para visualizar os detalhes de uma lista de manifestos. Este comando exibirá o conteúdo da lista de manifestos em formato JSON se ela existir.

docker manifest inspect my-alpine:latest

Se a lista de manifestos my-alpine:latest foi criada com sucesso, você verá uma saída JSON descrevendo a lista de manifestos, incluindo as diferentes imagens que ela referencia para várias arquiteturas. Se a lista de manifestos não existir, o comando retornará um erro.

A saída mostrará informações sobre a lista de manifestos, como a versão do esquema, o tipo de mídia e uma lista de manifestos para cada arquitetura incluída. Você deve ver entradas para as arquiteturas amd64 e arm64, confirmando que a lista de manifestos foi criada corretamente com referências às imagens para essas plataformas.

Excluir a lista de manifestos

Nas etapas anteriores, criamos e verificamos a existência de uma lista de manifestos chamada my-alpine:latest. Agora, aprenderemos como excluir essa lista de manifestos.

Para excluir uma lista de manifestos, usamos o comando docker manifest rm seguido pelo nome da lista de manifestos.

docker manifest rm my-alpine:latest

Este comando removerá a referência local à lista de manifestos my-alpine:latest. Observe que este comando remove apenas a própria lista de manifestos, não as imagens individuais que a lista de manifestos referencia. As imagens alpine:latest para amd64 e arm64 que puxamos anteriormente ainda permanecerão em seu sistema.

Após executar o comando, você deverá ver uma saída indicando que a lista de manifestos foi removida (untagged).

Verificar se a lista de manifestos foi excluída

Na etapa anterior, excluímos a lista de manifestos chamada my-alpine:latest. Agora, verificaremos se a lista de manifestos foi excluída com sucesso e não existe mais localmente.

Podemos tentar inspecionar a lista de manifestos novamente usando o comando docker manifest inspect. Se a lista de manifestos foi excluída com sucesso, este comando deverá retornar um erro indicando que a lista de manifestos não foi encontrada.

docker manifest inspect my-alpine:latest

Ao executar este comando após excluir a lista de manifestos, você deverá ver uma mensagem de erro semelhante a no such manifest: docker.io/library/my-alpine:latest. Isso confirma que a lista de manifestos foi removida do seu ambiente Docker local.

Resumo

Neste laboratório, aprendemos como criar e gerenciar listas de manifestos do Docker. Começamos puxando imagens para diferentes arquiteturas e, em seguida, usamos o comando docker manifest create para combiná-las em uma única lista de manifestos, demonstrando como construir imagens de múltiplas arquiteturas.

Após a criação, verificamos a existência da lista de manifestos usando o comando docker manifest inspect. Finalmente, aprendemos como excluir a lista de manifestos usando o comando docker manifest rm e confirmamos sua remoção, cobrindo o gerenciamento essencial do ciclo de vida das listas de manifestos no Docker.