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
- Se o repositório de destino não existir, crie um novo repositório.
- Verifique se tem as autorizações necessárias para o repositório.
- (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:
-
Ver imagens, ficheiros em imagens e etiquetas:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Etiquete imagens ou edite etiquetas através do Artifact Registry:
Escritor do Artifact Registry (
roles/artifactregistry.writer
) -
Elimine imagens ou remova etiquetas:
Administrador do repositório do Artifact Registry (
roles/artifactregistry.repoAdmin
)
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:
Abra a página Repositórios na Trusted Cloud consola.
Clique no repositório com a imagem do contentor.
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
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 comsha256:
.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
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
gcloud artifacts files list \
--project=my-project \
--location=u-france-east1 \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
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:
Abra a página Repositórios na Trusted Cloud consola.
Clique na imagem para ver as versões da imagem.
Selecione a versão da imagem a etiquetar.
Na linha da versão selecionada, clique em Mais ações (
) e, de seguida, clique em Editar etiquetas.
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
Abra a página Repositórios na Trusted Cloud consola.
Clique na imagem para ver as versões da imagem.
Selecione a versão da imagem para desmarcar.
Na linha da versão selecionada, clique em Mais ações (
) e, de seguida, clique em Editar etiquetas.
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
Abra a página Repositórios na Trusted Cloud consola.
Clique no nome da imagem para ver as versões dessa imagem.
Selecione as versões que quer eliminar.
Clique em ELIMINAR.
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.