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ê:
ativou o Container Registry no projeto;
configurou o Docker para se autenticar no registro.
tem permissões para acessar o registro;
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 linha de comando.
Console
Para listar as imagens em um dos seus locais de host:
Acesse a página do Container Registry.
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:
[HOSTNAME]
está listado emLocation
no console. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. Caso o ID do projeto contenha dois pontos (:
), consulte Projetos com escopo de domínio.
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:
Acesse a página do Container Registry.
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.
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:
[HOSTNAME]
está listado emLocation
no console. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. Se o ID do projeto tiver dois pontos (:
), consulte Projetos com escopo de domínio.[IMAGE]
é o nome da imagem no Container Registry;
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 incluir tag em imagens
Adicione uma tag a uma imagem usando o console do Google Cloud ou o comando linha
Um resumo é um identificador exclusivo gerado automaticamente para uma versão de imagem. Uma tag atua como um rótulo que pode ser aplicado a uma versão específica de uma imagem.
É possível adicionar mais de uma tag a uma imagem. Em um repositório, cada tag para uma
imagem precisa ser exclusiva. Por exemplo, se você adicionar a tag release-candidate
à nona versão da sua imagem, adicionar a mesma tag à décima versão
moverá a tag da nona versão para a décima versão.
Se você não marcar uma imagem, o cliente do Docker adicionará a tag padrão latest
.
Isso significa que latest
não indica a versão mais recente de uma imagem.
Na verdade, isso significa uma versão de imagem que você marcou especificamente como latest
ou
a versão sem tag mais recente de uma imagem. Como o significado de latest
não é claro, recomendamos evitar a dependência na tag latest
.
Console
Para marcar uma imagem hospedada pelo Container Registry:
Acesse a página do Container Registry.
Clique no nome da imagem para ver a versão dela.
Em Tags, clique no ícone de edição.
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 emLocation
no console. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. 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 inclua uma tag com o nome do registro e, em seguida, envie a imagem. Para ver instruções, consulte Como enviar uma imagem para um registro.
Como remover tags de imagens
Você pode remover uma tag de uma imagem no Container Registry usando o Console do Google Cloud ou linha de comando.
Console
Acesse a página do Container Registry.
Clique no nome da imagem para ver a versão dela.
Em Tags, clique no ícone de edição.
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:
[HOSTNAME]
está listado emLocation
no console. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. Se o ID do projeto tiver dois pontos (:
), consulte Projetos com escopo de domínio.[IMAGE]
é o nome da imagem no Container Registry;[TAG]
é a tag que você quer remover.Consulte
gcloud container images untag
para mais informações sobre este comando.
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
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. 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ê quisesse copiar a imagem my-image
para o repositório de outro projeto e para um host europeu, mas quisesse manter o nome da imagem e a tag, você deveria usar:
gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1
em que [PROJECT-ID]
e [OTHER-PROJECT-ID]
são o console do Google Cloud.
IDs do projeto
do projeto do qual você está copiando e do projeto para o qual está copiando.
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.
Outras ferramentas estão disponíveis para ajudar você a gerenciar imagens não utilizadas. Por exemplo
o comando gcr-cleaner
localiza e exclui 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 do Google.
Para excluir uma imagem usando o console do Google Cloud ou a CLI gcloud:
Console
Acesse a página do Container Registry.
Clique no nome da imagem para ver a(s) versão(ões) dessa imagem.
No registro, marque a caixa ao lado das versões da imagem que você quer excluir.
Clique em EXCLUIR na parte superior da página.
No pop-up Excluir itens do repositório, clique em EXCLUIR.
gcloud
Execute 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 emLocation
no console. É uma das quatro opções:gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
é o console do Google Cloud. ID do projeto. 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
- Saiba como configurar o controle de acesso.
- Leia mais sobre os componentes e recursos do Container Registry.