Como gerenciar imagens

Nesta página, explicamos como gerenciar imagens de contêiner em um repositório do Docker. Gerenciar imagens inclui listar imagens em um repositório, adicionar tags, excluir tags, copiar imagens para um novo repositório e excluir imagens.

Para informações sobre como enviar e extrair imagens, consulte Como enviar e extrair imagens.

Antes de começar

  1. Se não existir um repositório de destino, crie um novo repositório.
  2. Verifique se você tem as permissões necessárias para o repositório.
  3. (Opcional) Configure padrões para comandos gcloud.

Listar imagens

Você pode listar as imagens usando o Console do Google Cloud ou a linha de comando.

A lista de repositórios inclui repositórios do Artifact Registry e do Container Registry. Para trabalhar com imagens em um repositório do Container Registry, consulte a documentação do Container Registry para gerenciamento de imagens.

Console

Para ver imagens em um repositório:

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Clique no repositório que contém o gráfico.

  3. Clique em uma imagem para ver as versões.

gcloud

Para listar todas as imagens no projeto, no repositório e no local padrão quando os valores padrão estiverem configurados:

gcloud artifacts docker images list [--include-tags]

Para listar imagens em um repositório em um local específico, execute o comando:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY \
[--include-tags]

Para listar todos os resumos e tags de uma imagem específica, execute o comando:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
[--include-tags]

Substitua os seguintes valores:

  • LOCATION é o local regional ou multirregional do repositório.
  • PROJECT é o ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
  • REPOSITORY é o nome do repositório em que a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • --include-tags mostra todas as versões das imagens, incluindo resumos e tags. Se essa sinalização for omitida, a lista retornada incluirá apenas imagens de contêiner de nível superior.

Por exemplo, considere uma imagem com as seguintes características:

  • Local do repositório: us
  • Nome do repositório: my-repo
  • ID do projeto: my-project
  • Nome da imagem: my-image

O nome completo do repositório é:

us-docker.pkg.dev/my-project/my-repo

O nome completo da imagem é:

us-docker.pkg.dev/my-project/my-repo/my-image

Para detalhes sobre o formato do nome da imagem, consulte Nomes de imagem e repositório.

Como incluir tag em imagens

É possível marcar as imagens atuais em um repositório do Artifact Registry ou marcá-las antes de enviá-las para um repositório.

Como marcar imagens em um repositório

É possível adicionar uma tag a uma imagem em um repositório do Artifact Registry usando o Console do Google Cloud ou a linha de comando. Em um registro, as tags são exclusivas para uma versão de uma imagem. Portanto, se você tiver várias versões de uma imagem, cada tag se aplicará apenas a uma delas. Se adicionar à imagem uma tag que já está em uso, a tag da versão original será movida para a versão recém-marcada.

Console

Para marcar uma imagem em um repositório:

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Clique na imagem para ver as versões dela.

  3. Selecione a versão da imagem a ser marcada.

  4. Na linha da versão selecionada, clique em Mais ações (Mais ações) e, em seguida, clique em Editar tags.

  5. Insira novas tags no campo e clique em SALVAR.

gcloud

Para marcar imagens em um repositório, especifique a versão da imagem usando o resumo ou a tag de imagem e, em seguida, especifique a tag a ser adicionada. Execute um dos seguintes comandos:

gcloud artifacts docker tags add IMAGE-VERSION TAG

Onde

  • IMAGE-VERSION é o nome completo da versão de imagem a ser marcada, usando o resumo da imagem ou uma tag existente na versão da imagem.
  • TAG é o nome completo da tag que você quer adicionar.

Por exemplo, considere uma imagem com as seguintes características:

  • Local do repositório: us
  • Nome do repositório: my-repo
  • ID do projeto: my-project
  • Nome da imagem: my-image
  • Tag existente: iteration6-final
  • Tag a ser adicionada: release-candidate

Para adicionar a tag release-candidate à versão da imagem com a tag iteration6-final, execute o seguinte comando:

gcloud artifacts docker tags add \
us-docker.pkg.dev/my-project/my-repo/my-image:iteration6-final \
us-docker.pkg.dev/my-project/my-repo/my-image:release-candidate

Para detalhes sobre o formato do nome da imagem, incluindo o gerenciamento de projetos com escopo de domínio, consulte Nomes de repositório e imagens.

Como marcar imagens locais

Para enviar qualquer imagem local para o Artifact Registry, primeiro marque-a com o nome do registro e, em seguida, envie a imagem. Para ver instruções, consulte Como enviar e extrair.

Como remover tags de imagens

Você pode remover uma tag de uma imagem no Artifact Registry usando o Console do Google Cloud ou a linha de comando.

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Clique na imagem para ver as versões dela.

  3. Selecione a versão da imagem para remover a tag.

  4. Na linha da versão selecionada, clique em Mais ações (Mais ações) e, em seguida, clique em Editar tags.

  5. Exclua a tag e clique em SALVAR.

gcloud

Para excluir uma tag e removê-la da imagem, execute o seguinte comando:

 gcloud artifacts docker tags delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG

Onde

  • LOCATION é o local regional ou multirregional do repositório.
  • PROJECT é o ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
  • REPOSITORY é o nome do repositório em que a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • TAG é a tag da versão que você quer excluir.

Excluir imagens

É possível excluir uma imagem de contêiner inteira ou uma versão de imagem específica associada a uma tag ou um resumo. Depois de excluir uma imagem, não é possível desfazer a ação.

Outras ferramentas estão disponíveis para ajudar você a gerenciar imagens não utilizadas. Por exemplo, a ferramenta gcr-cleaner descobre e exclui imagens antigas com base em critérios diferentes. A remoção de imagens não usadas pode ajudar a reduzir os custos de armazenamento. A ferramenta gcr-cleaner não é um produto oficial do Google.

Para excluir uma imagem do Console do Google Cloud ou da ferramenta gcloud:

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Clique no nome da imagem para ver as versões dessa imagem.

  3. Selecione as versões que você quer excluir.

  4. Clique em EXCLUIR.

  5. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Para excluir uma imagem e todas as tags dela, execute o seguinte comando:

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags

Para excluir uma versão de imagem específica, use um dos comandos a seguir.

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]

ou

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]

Onde

  • LOCATION é o local regional ou multirregional do repositório.
  • PROJECT é o ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
  • REPOSITORY é o nome do repositório em que a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • TAG é a tag da versão que você quer excluir. Se várias tags estiverem associadas à mesma versão de imagem, será necessário incluir --delete-tags para excluir a versão de imagem sem remover as tags primeiro.
  • IMAGE-DIGEST é o valor de hash sha256 da versão que você quer excluir. Se uma tag estiver associada ao resumo da imagem, você precisará incluir --delete-tags para excluir a versão da imagem sem remover a tag primeiro.
  • --delete-tags remove todas as tags aplicadas à versão da imagem. Essa sinalização permite forçar a exclusão de uma versão de imagem quando:
    • Você tiver especificado uma tag, mas existir outras tags associadas à versão da imagem.
    • Você tiver especificado um resumo de imagem com pelo menos uma tag.