Como gerenciar imagens

Esta página explica como gerenciar imagens hospedadas no Container Registry. 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 uma imagem local para o Container Registry ou extrair uma imagem armazenada no Container Registry, consulte Como enviar e extrair imagens.

Antes de começar

Certifique-se de que você:

  1. instalou a versão mais recente do Cloud SDK, que inclui a ferramenta de linha de comando gcloud;

  2. instalou o Docker;

  3. tem acesso aos registros com que trabalhará;

  4. configurou o Docker para usar gcloud como auxiliar de credencial ou está usando outro método de autenticação. Para usar o gcloud como o auxiliar de credencial, execute o comando:

    gcloud auth configure-docker
    
  5. O Docker precisa que os auxiliares de credenciais estejam no sistema PATH. Verifique se o assistente de credencial escolhido, gcloud ou docker-credential-gcr, está no sistema PATH

Como listar imagens pelo local de armazenamento

Você pode listar as imagens em locais de host específicos usando o Console do Google Cloud ou a linha de comando.

Console

Para listar as imagens em um dos seus locais de host:

  1. Acesse a página do Container Registry.

    Abrir a página do Container Registry

  2. Use o seletor acima de Nome para escolher o local do host. As opções incluem Todos os locais e os nomes de host que o projeto usa atualmente, que podem incluir gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.

gcloud

Para listar as imagens que estão em um dos seus locais de host, use o seguinte comando:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]

em que:

Se você tiver registros aninhados, liste as imagens aninhadas especificando o nível do repositório em que elas estão armazenadas:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]

em que [IMAGE] é o repositório no qual mais imagens estão aninhadas.

Consulte também a documentação gcloud container images list.

Como listar as versões de uma imagem

Um registro pode conter versões diferentes de uma imagem. Essas versões têm o mesmo nome de imagem e são identificadas por seus resumos e tags.

Console

Para ver o resumo e as tags de uma imagem:

  1. Acesse a página do Container Registry.

    Abrir a página do Container Registry

  2. Clique no nome da imagem para ver as versões dessa imagem. O resumo truncado está listado em Nome e as tags estão listadas em Tags.

  3. Se quiser ver o resumo completo, clique na versão da imagem para ver os respectivos metadados. O resumo é chamado de Resumo da imagem.

gcloud

Para listar as tags e os resumos truncados de uma imagem, execute o seguinte comando:

gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]

em que:

Para listar o resumo completo de uma ou mais versões de uma imagem específica, execute o seguinte comando:

gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Consulte a documentação gcloud container images list-tags.

Como marcar imagens

Você pode adicionar uma tag a uma imagem 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á a 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 hospedada pelo Container Registry:

  1. Acesse a página do Container Registry.

    Abrir a página do Container Registry

  2. Clique no nome da imagem para ver a versão dela.

  3. Em Tags, clique no ícone de edição.

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

gcloud

Para marcar imagens hospedadas pelo Container Registry, use o comando gcloud container images add-tag:

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

ou

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

em que:

  • [HOSTNAME] está listado em Location no console. É uma das quatro opções: gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.
  • [PROJECT-ID] é o ID do projeto do seu Console do Google Cloud. Se o ID do projeto tiver dois pontos (:), consulte Projetos com escopo de domínio.
  • [IMAGE] é o nome da imagem no Container Registry;
  • [TAG] é uma tag que já está aplicada à imagem;
  • [IMAGE_DIGEST] é o valor de hash sha256 do conteúdo da imagem.
  • [NEW_TAG] é a nova tag que você está adicionando à imagem.

Consulte gcloud container images add-tag para mais informações sobre este comando.

Como incluir tags em imagens locais para hospedagem no Container Registry

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

Como desmarcar imagens

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

Console

  1. Acesse a página do Container Registry.

    Abrir a página do Container Registry

  2. Clique no nome da imagem para ver a versão dela.

  3. Em Tags, clique no ícone de edição.

  4. Exclua a tag e clique em SALVAR.

gcloud

Para remover uma tag de uma imagem, use o seguinte comando:

gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

em que:

Como copiar imagens para um novo registro

É possível copiar uma imagem de um repositório para outro usando a linha de comando. Você precisa ter acesso aos dois repositórios.

Para copiar uma imagem de um repositório para outro, use o comando gcloud container images add-tag e identifique a imagem a ser movida pela tag:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

ou pelo resumo:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

em que, tanto para a origem como para o destino:

  • [HOSTNAME] é o local onde a imagem está hospedada e é uma das quatro opções: gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.
  • [PROJECT-ID] é o ID do projeto do Console do Google Cloud. Se o ID do projeto tiver dois pontos (:), consulte Projetos com escopo de domínio.
  • [IMAGE] é o nome da imagem no Container Registry;
  • [IMAGE_DIGEST] é o valor de hash sha256 do conteúdo da imagem.
  • [TAG] é a tag que identifica a imagem de origem a ser movida ou a tag a ser aplicada à imagem no repositório de destino.

Por exemplo, se você quer copiar a imagem de início rápido para o repositório de outro projeto e para o host europeu, mas quer manter o nome da imagem e a tag, você usa:

gcloud container images add-tag \
gcr.io/[PROJECT-ID]/quickstart-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/quickstart-image:tag1

em que [PROJECT-ID] e [OTHER-PROJECT-ID] são os IDs de projeto do Console do Google Cloud dos projetos de origem e de destino da cópia. Você precisa ter acesso aos repositórios nos dois projetos. Se algum D de projeto contiver dois pontos (:) consulte projetos com escopo de domínio.

Consulte gcloud container images add-tag para mais informações sobre este comando.

Excluir imagens

É possível excluir uma imagem usando o Console do Google Cloud ou a linha de comando. Depois de excluir uma imagem, não é possível desfazer essa ação.

Console

Para excluir uma imagem de um dos repositórios do Container Registry:

  1. Acesse a página do Container Registry.

    Abrir a página do Container Registry

  2. Clique no nome da imagem para ver a(s) versão(ões) dessa imagem.

  3. No registro, marque a caixa ao lado das versões da imagem que você quer excluir.

  4. Clique em EXCLUIR na parte superior da página.

  5. No pop-up Excluir itens do repositório, clique em EXCLUIR.

gcloud

Para excluir uma imagem de um dos repositórios do Container Registry, use um dos seguintes comandos:

  • Uma imagem identificada pelo respectivo resumo:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
    
  • Uma imagem identificada pela respectiva tag com várias tags:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
    

em que:

  • [HOSTNAME] está listado em Location no console. É uma das quatro opções: gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.
  • [PROJECT-ID] é o ID do projeto do seu Console do Google Cloud. Se o ID do projeto tiver dois pontos (:), consulte Projetos com escopo de domínio.
  • [IMAGE] é o nome da imagem no Container Registry;
  • [IMAGE_DIGEST] é o valor de hash sha256 do conteúdo da imagem.
  • [TAG] é a tag da imagem que você quer remover.

Consulte gcloud container images delete para ver mais informações sobre este comando.

A seguir