O Artifact Registry usa uma convenção de nomenclatura para identificar repositórios e imagens
ao usar os comandos de API, gcloud
e docker
para interagir com os
repositórios.
Repositórios do Docker
O nome completo de um repositório do Docker está no seguinte formato:
LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY
em que:
LOCATION é o regional ou multirregional local do repositório.
PROJECT é o ID do projeto do console do Google Cloud. Se o ID do projeto contiver dois pontos (`:`), consulte Projetos com escopo de domínio.
REPOSITORY é o nome do repositório.
Por exemplo, considere uma imagem com as seguintes características:
- Local do repositório:
us-west1
- Formato do repositório:
docker
- Nome do repositório:
my-repo
- ID do projeto:
my-project
O repositório é especificado como:
us-west1-docker.pkg.dev/my-project/my-repo
Nomes de imagens de contêiner
O nome completo de uma imagem de contêiner é um dos seguintes formatos:
LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE
ou
LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
ou
LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST
em que:
- LOCATION é o regional ou multirregional local do repositório.
- PROJECT é o console do Google Cloud. ID do projeto. Caso o ID do projeto contenha dois pontos (`:`), consulte Projetos com escopo de domínio.
- REPOSITORY é o nome do repositório em que a imagem está armazenada.
- IMAGE é o nome da imagem no repositório.
- TAG é a tag da versão de imagem que você quer extrair.
IMAGE-DIGEST é o valor de hash sha256 do conteúdo da imagem. No console do Google Cloud, clique na imagem específica para ver os metadados dela. O resumo é listado como Resumo da imagem.
Se você não especificar uma tag ou um resumo, o Artifact Registry procurará a imagem com a tag padrão
latest
. Consulte Versões de imagem de contêiner para mais informações sobre versões.
Por exemplo, considere uma imagem com as seguintes características:
- Local do repositório:
us-west1
- Nome do repositório:
my-repo
- ID do projeto:
my-project
- Nome da imagem:
test
- Tag:
staging
Essa versão da imagem marcada com preparação é especificada como:
us-west1-docker.pkg.dev/my-project/my-repo/test:staging
Versões de imagem de contêiner
Um repositório pode conter muitas imagens de contêiner, e essas imagens podem ter diferentes versões. Para identificar uma versão específica de uma imagem, é possível especificar o resumo ou a tag da imagem.
- Resumo por e-mail
- Um resumo da imagem é um hash gerado automaticamente do índice ou do manifesto da imagem. Cada resumo de imagem é um identificador exclusivo para uma versão da imagem e não pode ser alterado. O resumo é o valor de hash sha256 do conteúdo da imagem.
- Tag
Uma tag de imagem é um rótulo e geralmente é uma string legível, como
v1.1
oudevelopment
. Uma tag só pode apontar para uma versão de uma imagem. No Artifact Registry, é possível configurar um repositório do Docker para permitir tags de imagem mutáveis ou aplicar tags de imagem imutáveis.Mutável: uma tag aponta para somente uma versão de uma imagem, mas a específica que ele referencia podem mudar.
Uma abordagem comum é marcar imagens com um identificador de versão, como
v1.1
no momento da criação. Quando o build envia várias versões da imagem para o registro com a mesma tagv1.1
, a tag faz referência ao resumo da última versão enviada ao registro. Embora as tags de imagem mutáveis forneçam uma uma forma conveniente de rotular versões, elas também podem ser manipuladas por uma associar uma tag a uma versão maliciosa de uma imagem.Imutável: no repositório, uma tag sempre aponta para o mesmo resumo de imagem. Se um repositório do Artifact Registry estiver configurado para ser imutável tags de imagem, as seguintes ações não são permitidas:
- Excluir uma imagem marcada. A exclusão de imagens não marcadas ainda é permitida.
- Remover uma tag de uma imagem.
- Envie por push uma imagem com uma tag que já é usada por outra versão do a imagem no repositório.
Por exemplo, considere uma imagem com as seguintes características:
- Local do repositório:
us-west1
- Nome do repositório:
my-repo
- ID do projeto:
my-project
- Nome da imagem:
test
- Tag:
staging
- Resumo:
sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d
Para identificar a imagem com a tag, anexe :staging
ao nome da imagem:
us-west1-docker.pkg.dev/my-project/my-repo/test:staging
Para identificar com o resumo, anexe @
ao nome da imagem, seguido pelo
resumo:
us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d
Se o ID do projeto contiver dois pontos (`:`), consulte Projetos com escopo de domínio.
No console, na tela Imagens, a coluna Tags lista as tags da imagem. Clique na versão da imagem para conferir os metadados, incluindo o Resumo da imagem.
Consulte Como incluir tags em imagens para mais informações sobre inclusão de tags.
Projetos de escopo de domínio
Se seu projeto estiver no escopo de seu domínio, o ID do projeto incluirá o nome do
domínio seguido por dois pontos (:
). Por causa de como o Docker trata dois pontos,
você deve substituir o caractere de dois pontos por uma barra quando especificar
um resumo de imagem no Artifact Registry. Identifique imagens nesses tipos de projetos usando o seguinte formato:
LOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST
Por exemplo, o projeto com o ID example.com:my-project
poderia ter a
seguinte imagem:
us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name
Nomes de repositório como URLs
Para acessar um repositório ou artefato em um repositório no console do Google Cloud,
adicione https://
ao nome completo.
Por exemplo, para acessar o repositório us-west1-maven.pkg.dev/my-project/my-repo
, use
este URL:
https://us-west1-maven.pkg.dev/my-project/my-repo
Para conferir a imagem us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image
,
use o seguinte URL:
https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image
Qualquer usuário autenticado que tenha permissão para acessar o repositório pode usá-las links.