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 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.
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 conferir 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, que podem ter versões diferentes. 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 de imagem é um hash gerado automaticamente do índice ou da imagem manifesto do aplicativo. 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 da 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 tag 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 registro com a mesma tagv1.1
, a tag faz referência ao resumo do e a última versão foi enviada para o registro. Embora as tags de imagem mutáveis forneçam uma 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 a mesma imagem digerir. 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:
- Exclui uma imagem marcada. Ainda é permitido excluir imagens sem tag.
- Remova 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 identificá-la com o resumo, anexe @
ao nome da imagem, seguido pelo
resumo:
us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d
Caso o ID do projeto contenha 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 ver 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, faça o seguinte:
inclua https://
no início do nome completo.
Por exemplo, para visualizar o repositório us-west1-maven.pkg.dev/my-project/my-repo
, use
o seguinte 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.