Faça a gestão das imagens

Esta página explica como gerir imagens de contentores num repositório do Docker. A gestão de imagens inclui listar imagens num repositório, adicionar etiquetas, eliminar etiquetas, copiar imagens para um novo repositório e eliminar imagens.

Para obter informações sobre como enviar e receber imagens, consulte o artigo Enviar e receber imagens.

Antes de começar

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

Funções necessárias

Para receber as autorizações de que precisa para gerir imagens, peça ao seu administrador para lhe conceder as seguintes funções de IAM no repositório:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Imagens de fichas

Modos de repositório: padrão

Pode listar as imagens através da Trusted Cloud console ou da CLI gcloud.

Consola

Para ver imagens num repositório:

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

  2. Clique no repositório com a imagem do contentor.

  3. Clique numa imagem para ver as respetivas versões.

gcloud

Para listar todas as imagens no projeto, repositório e localização predefinidos quando os valores predefinidos estão configurados:

gcloud artifacts docker images list

Para listar imagens num repositório numa localização específica, execute o comando:

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

Para apresentar uma lista de todos os resumos e etiquetas de uma imagem específica, execute o comando:

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
--include-tags

Substitua os seguintes valores:

  • LOCATION é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • --include-tags mostra todas as versões das imagens, incluindo resumos e etiquetas. Se esta flag for omitida, a lista devolvida inclui apenas imagens de contentores de nível superior.

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

  • Localização do repositório: u-france-east1
  • Nome do repositório: my-repo
  • ID do projeto: my-project
  • Nome da imagem: my-image

O nome completo do repositório é:

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo

O nome completo da imagem é:

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image

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

Listar ficheiros

Modos de repositório: padrão

Pode listar ficheiros num repositório, ficheiros em todas as versões de uma imagem de contentor especificada ou ficheiros numa versão específica de uma imagem.

Para todos os comandos seguintes, pode definir um número máximo de ficheiros a devolver adicionando a flag --limit ao comando.

Para listar todos os ficheiros no projeto, repositório e localização predefinidos quando os valores predefinidos estão configurados:

gcloud artifacts files list

Para listar ficheiros num projeto, num repositório e numa localização especificados, execute o comando:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

Para listar ficheiros de todas as versões de uma imagem de contentor específica:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

Para listar os ficheiros de uma versão específica da imagem do contentor:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION
Para listar ficheiros de uma etiqueta específica:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --tag=TAG

Substitua os seguintes valores:

  • LOCATION: a localização regional do repositório.
  • PROJECT: o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY: o nome do repositório onde a imagem está armazenada.
  • PACKAGE: o nome da imagem.
  • VERSION: o resumo da imagem, uma string que começa com sha256:.
  • TAG: a etiqueta associada à imagem do contentor.

Exemplos

Considere as seguintes informações de imagem:

  • Projeto: my-project
  • Repositório: my-repo
  • Localização do repositório: u-france-east1
  • Imagem: my-app

O comando seguinte lista todos os ficheiros no repositório my-repo na localização u-france-east1 no projeto predefinido:

gcloud artifacts files list \
    --location=u-france-east1 \
    --repository=my-repo
O comando seguinte lista os ficheiros na versão da imagem com o resumo sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356

gcloud artifacts files list \
    --project=my-project \
    --location=u-france-east1 \
    --repository=my-repo \
    --package=my-app \
    --version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
O seguinte comando apresenta uma lista dos ficheiros na versão da imagem com a etiqueta 1.0-dev

gcloud artifacts files list \
    --project=my-project \
    --location=u-france-east1 \
    --repository=my-repo \
    --package=my-app \
    --tag=1.0-dev

Etiquetar imagens

Pode etiquetar imagens existentes num repositório do Artifact Registry ou etiquetá-las antes de as enviar para um repositório.

Etiquetar imagens num repositório

Modos de repositório: padrão

Pode adicionar uma etiqueta a uma imagem num repositório do Artifact Registry através da Trusted Cloud console ou da linha de comandos. Num repositório, as etiquetas são exclusivas de uma versão de uma imagem. Assim, se tiver várias versões de uma imagem, cada etiqueta só se aplica a uma das versões. Se etiquetar uma imagem com uma etiqueta já em utilização, move a etiqueta da versão original para a versão recentemente etiquetada.

Consola

Para etiquetar uma imagem num repositório:

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

  3. Selecione a versão da imagem a etiquetar.

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

  5. Escreva novas etiquetas no campo e, de seguida, clique em GUARDAR.

gcloud

Para etiquetar imagens num repositório, especifique a versão da imagem através do resumo ou da etiqueta da imagem e, em seguida, especifique a etiqueta a adicionar. Execute um dos seguintes comandos:

gcloud artifacts docker tags add IMAGE-VERSION TAG

Onde

  • IMAGE-VERSION é o nome completo da versão da imagem a etiquetar, usando o resumo da imagem ou uma etiqueta existente na versão da imagem.
  • TAG é o nome completo da etiqueta que quer adicionar.

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

  • Localização do repositório: u-france-east1
  • Nome do repositório: my-repo
  • ID do projeto: my-project
  • Nome da imagem: my-image
  • Etiqueta existente: iteration6-final
  • Etiqueta a adicionar: release-candidate

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

gcloud artifacts docker tags add \
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:iteration6-final \
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:release-candidate

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

Etiquetar imagens locais

Para enviar qualquer imagem local para o Artifact Registry, primeiro tem de etiquetá-la com o nome do repositório e, em seguida, enviar a imagem. Para ver instruções, consulte o artigo Enviar e receber.

Remover etiquetas de imagens

Modos de repositório: padrão

Pode remover uma etiqueta de uma imagem no Artifact Registry através da Trusted Cloud console ou da linha de comandos.

Consola

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

  3. Selecione a versão da imagem para desmarcar.

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

  5. Elimine a etiqueta e, de seguida, clique em GUARDAR.

gcloud

Para eliminar uma etiqueta e removê-la da imagem, execute o seguinte comando:

 gcloud artifacts docker tags delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE:TAG

Substitua o seguinte:

  • LOCATION é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • TAG é a etiqueta da versão que quer eliminar.

A eliminar imagens

Modos de repositório: padrão

Pode eliminar uma imagem de contentor completa ou uma versão de imagem específica associada a uma etiqueta ou um resumo.

  • Depois de eliminar uma imagem, não pode anular a ação.
  • A eliminação de imagens não elimina imediatamente as camadas referenciadas. As camadas não referenciadas são eliminadas diariamente.

Estão disponíveis outras ferramentas para ajudar a gerir imagens não usadas. Por exemplo, a ferramenta gcr-cleaner encontra e elimina imagens antigas com base em diferentes critérios. 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 da Google.

Para eliminar uma imagem a partir da Trusted Cloud consola ou da CLI gcloud:

Consola

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

  3. Selecione as versões que quer eliminar.

  4. Clique em ELIMINAR.

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

gcloud

Para eliminar uma imagem e todas as respetivas etiquetas, execute o comando:

gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE --delete-tags

Para eliminar uma versão específica de uma imagem, use um dos seguintes comandos.

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

ou

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

Onde

  • LOCATION é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • TAG é a etiqueta da versão que quer eliminar. Se várias etiquetas estiverem associadas à mesma versão da imagem, tem de incluir --delete-tags para eliminar a versão da imagem sem remover primeiro as etiquetas.
  • IMAGE-DIGEST é o valor hash sha256 da versão que quer eliminar. Se uma etiqueta estiver associada ao resumo da imagem, tem de incluir --delete-tags para eliminar a versão da imagem sem remover primeiro a etiqueta.
  • --delete-tags remove todas as etiquetas aplicadas à versão da imagem. Este sinalizador permite forçar a eliminação de uma versão de imagem quando:
    • Especificou uma etiqueta, mas existem outras etiquetas associadas à versão da imagem.
    • Especificou um resumo da imagem que tem, pelo menos, uma etiqueta.