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 ver informações sobre como enviar uma imagem local para o Container Registry ou extrair uma imagem armazenada no Container Registry, consulte o artigo Enviar e extrair imagens.
Antes de começar
Certifique-se de que:
O Container Registry está ativado no seu projeto.
Configurou o Docker para autenticar no registo.
Ter autorizações para aceder ao registo.
Apresentar imagens pela respetiva localização de armazenamento
Pode listar as imagens em localizações de anfitriões específicas através do Google Cloud console ou da linha de comandos.
Consola
Para listar as imagens numa das suas localizações de anfitriões:
Aceda à página do Container Registry.
Use o seletor acima de Nome para escolher a localização do anfitrião. As opções incluem Todas as localizações e os nomes de anfitriões que o projeto usa atualmente, que podem incluir gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.
gcloud
Para apresentar uma lista das imagens que se encontram num dos seus locais de alojamento, use o seguinte comando:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]
where:
- O dispositivo
[HOSTNAME]
está listado emLocation
na consola. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. [PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto contiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.
Se tiver registos aninhados, liste as imagens aninhadas especificando o nível do repositório onde estão armazenadas:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]
em que [IMAGE]
é o repositório no qual estão aninhadas mais imagens.
Consulte também a gcloud container images list
documentação.
Listar as versões de uma imagem
Um registo pode conter diferentes versões de uma imagem. Estas versões têm o mesmo nome de imagem e são identificadas pelo respetivo resumo e etiquetas.
Consola
Para ver o resumo e as etiquetas de uma imagem:
Aceda à página do Container Registry.
Clique no nome da imagem para ver as versões dessa imagem. O resumo truncado é apresentado em Nome e as etiquetas são apresentadas em Etiquetas.
Para ver o resumo completo, clique na versão da imagem para ver os respetivos metadados. O resumo chama-se Resumo da imagem.
gcloud
Para apresentar uma lista dos resumos e das etiquetas truncados de uma imagem, execute o seguinte comando:
gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
where:
- O dispositivo
[HOSTNAME]
está listado emLocation
na consola. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. [PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto tiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.[IMAGE]
é o nome da imagem no Container Registry.
Para listar o resumo completo das 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 gcloud container images list-tags
documentação.
Etiquetar imagens
Pode adicionar uma etiqueta a uma imagem através do ícone Google Cloud console ou da linha de comandos.
Um resumo é um identificador único gerado automaticamente para uma versão de imagem. Uma etiqueta funciona como uma etiqueta que pode aplicar a uma versão específica de uma imagem.
Pode adicionar mais do que uma etiqueta a uma imagem. Num repositório, cada etiqueta de uma imagem tem de ser exclusiva. Por exemplo, se adicionar a etiqueta release-candidate
à nona versão da imagem, adicionar a mesma etiqueta à décima versão
move a etiqueta da nona versão para a décima versão.
Se não etiquetar uma imagem, o cliente Docker adiciona a etiqueta predefinida latest
.
Isto significa que latest
não indica a versão mais recente de uma imagem.
Em vez disso, significa uma versão de imagem que etiquetou especificamente como latest
ou a versão mais recente de uma imagem sem etiqueta. Uma vez que o significado de latest
não é claro, recomendamos que evite depender da etiqueta latest
.
Consola
Para etiquetar uma imagem alojada pelo Container Registry:
Aceda à página do Container Registry.
Clique no nome da imagem para ver a versão dessa imagem.
Em Etiquetas, clique no ícone de edição.
Escreva novas etiquetas no campo e, de seguida, clique em GUARDAR.
gcloud
Para etiquetar imagens alojadas 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]
where:
- O dispositivo
[HOSTNAME]
está listado emLocation
na consola. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. [PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto tiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.[IMAGE]
é o nome da imagem no Container Registry.[TAG]
é uma etiqueta já aplicada à imagem.[IMAGE_DIGEST]
é o valor hash sha256 do conteúdo da imagem.[NEW_TAG]
é a nova etiqueta que está a adicionar à imagem.
Consulte gcloud container images add-tag
para mais informações sobre este comando.
Etiquetar imagens locais para alojamento no Container Registry
Para enviar qualquer imagem local para o Container Registry, primeiro tem de etiquetá-la com o nome do registo e, em seguida, enviar a imagem. Para ver instruções, consulte o artigo Enviar uma imagem para um registo.
Remover etiquetas de imagens
Pode remover uma etiqueta de uma imagem no Container Registry através da Google Cloud console ou da linha de comandos.
Consola
Aceda à página do Container Registry.
Clique no nome da imagem para ver a versão dessa imagem.
Em Etiquetas, clique no ícone de edição.
Elimine a etiqueta e, de seguida, clique em GUARDAR.
gcloud
Para remover uma etiqueta de uma imagem, use o seguinte comando:
gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
where:
- O dispositivo
[HOSTNAME]
está listado emLocation
na consola. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. [PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto tiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.[IMAGE]
é o nome da imagem no Container Registry.[TAG]
é a etiqueta que quer remover.Consulte
gcloud container images untag
para mais informações sobre este comando.
Copiar imagens para um novo registo
Pode copiar uma imagem de um repositório para outro através da linha de comandos. Tem de ter acesso a ambos os 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 mover pela respetiva etiqueta:
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
ou o respetivo resumo:
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
onde, tanto para a origem como para o destino:
[HOSTNAME]
é a localização onde a imagem está alojada e é uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto tiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.[IMAGE]
é o nome da imagem no Container Registry.[IMAGE_DIGEST]
é o valor hash sha256 do conteúdo da imagem.[TAG]
é a etiqueta que identifica a imagem de origem a mover ou a etiqueta a aplicar à imagem no repositório de destino.
Por exemplo, se quiser copiar a imagem my-image
para o repositório de outro projeto e para o anfitrião europeu, mas
quiser manter o nome e a etiqueta da imagem, usaria:
gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1
onde [PROJECT-ID]
e [OTHER-PROJECT-ID]
são os Google Cloud IDs dos projetos
da consola
do projeto do qual está a copiar e para o qual está a copiar.
Tem de ter acesso aos repositórios em ambos os projetos. Se qualquer um dos IDs dos projetos tiver um dois pontos (:
), consulte o artigo
Projetos no âmbito do domínio.
Consulte gcloud container images add-tag
para mais informações sobre este comando.
A eliminar imagens
Pode eliminar uma imagem através do Google Cloud console ou da linha de comandos. Depois de eliminar uma imagem, não pode anular esta ação.
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 Google Cloud consola ou da CLI gcloud:
Consola
Aceda à página do Container Registry.
Clique no nome da imagem para ver as versões dessa imagem.
No registo, selecione a caixa junto às versões da imagem que quer eliminar.
Clique em ELIMINAR na parte superior da página.
No pop-up Eliminar itens do repositório, clique em ELIMINAR.
gcloud
Execute um dos seguintes comandos:
Uma imagem identificada pelo respetivo resumo:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
Uma imagem identificada pela respetiva etiqueta e que tem várias etiquetas:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
where:
- O dispositivo
[HOSTNAME]
está listado emLocation
na consola. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. [PROJECT-ID]
é o Google Cloud ID do projeto da consola. Se o ID do projeto tiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.[IMAGE]
é o nome da imagem no Container Registry.[IMAGE_DIGEST]
é o valor hash sha256 do conteúdo da imagem.[TAG]
é a etiqueta da imagem que quer remover.
Consulte o gcloud container images delete
para mais informações sobre este comando.
O que se segue?
- Saiba mais sobre a configuração do controlo de acesso.
- Leia mais sobre os componentes e as funcionalidades do Container Registry.