Transição do Container Registry

Em 15 de maio de 2023, o Container Registry foi descontinuado. Se você usa o Container Registry, poderá fazer a transição para o Artifact Registry.

O Artifact Registry é o serviço recomendado para armazenamento e gerenciamento de imagens de contêiner no Google Cloud. O Artifact Registry fornece os mesmos recursos de gerenciamento de contêineres que o Container Registry e inclui outros recursos e benefícios. Como um serviço totalmente gerenciado com suporte para imagens de contêiner e artefatos que não são de contêiner, o Artifact Registry amplia os recursos do Container Registry.

Resumo dos novos recursos

O Artifact Registry amplia os recursos do Container Registry com os seguintes recursos:

Consulte a comparação de recursos para conferir mais detalhes sobre eles.

Compatibilidade com versões anteriores e coexistência

É possível usar o Artifact Registry e o Container Registry no mesmo projeto. Quando você visualiza uma lista de repositórios com o gcloud ou o Console do Google Cloud, o Artifact Registry também lista os repositórios do Container Registry no mesmo projeto.

Escolha uma opção de transição

Há dois tipos de repositórios que podem ser usados para fazer a transição para o Artifact Registry:

Repositórios com suporte ao domínio gcr.io

Repositórios especiais que são mapeados para nomes de host gcr.io no Container Registry. O Artifact Registry pode redirecionar solicitações gcr.io dos hosts do Container Registry para repositórios correspondentes no mesmo projeto do Google Cloud.

Use essa opção se:

  • Você quer minimizar a quantidade de configurações necessárias para fazer a transição das imagens e automação atuais para o Artifact Registry.
  • Não é necessário configurar os repositórios do Artifact Registry em um projeto ou região diferente do Google Cloud.
Repositórios padrão

Repositórios regulares do Artifact Registry que oferecem suporte a todos os recursos e são totalmente independentes dos hosts atuais do Container Registry.

Use repositórios padrão se:

  • Você tem requisitos de conformidade para armazenar dados em uma região específica. Repositórios com suporte ao domínio gcr.io estão disponíveis apenas nas mesmas multirregiões que os hosts do Container Registry: asia, eu e us.
  • Você quer configurar os repositórios do Artifact Registry em um projeto diferente daquele em que você está usando o Container Registry.
  • Você quer redesenhar como e onde as imagens são armazenadas. Exemplo:

    • Crie repositórios nas mesmas regiões que seus outros recursos regionais do Google Cloud, incluindo ambientes de execução como o Cloud Run e o Google Kubernetes Engine.
    • Configure repositórios em regiões mais próximas das suas equipes. Por exemplo, é possível criar repositórios em regiões australianas em vez da multirregião asia ou em regiões da América do Sul em vez da multirregião us.
    • Criar vários repositórios do Docker no mesmo projeto e local com diferentes políticas de Identity and Access Management. Por exemplo, é possível configurar repositórios de desenvolvimento e de produção na região us-east1 com diferentes níveis de acesso para desenvolvedores.
  • Crie repositórios virtuais que funcionam como um único endpoint para downloads de vários repositórios padrão upstream.

Os dois tipos de repositório podem coexistir. Por exemplo, é possível criar repositórios gcr.io no Artifact Registry para fazer a transição da configuração atual do Container Registry e criar repositórios padrão para novos trabalhos.

Comparação do recurso

A tabela a seguir resume as diferenças entre o Container Registry e o Artifact Registry.

Recurso Container Registry Artifact Registry
Formatos compatíveis Somente imagens de contêiner Vários formatos de artefato, incluindo imagens de contêiner e pacotes de linguagens e de SO.
Nome de domínio gcr.io pkg.dev

O Artifact Registry também poderá armazenar imagens para o domínio gcr.io se você configurar o suporte ao domínio gcr.io.

Modos de repositório Não relevante
  • Padrão: armazena seus artefatos.
  • Remoto: armazena em cache os artefatos solicitados de uma origem upstream, como o Docker Hub.
  • Virtual: único endpoint para vários repositórios upstream.
Criação de registro Você cria um host de registro enviando a primeira imagem para ele.

O Container Registry armazena imagens nos buckets do Cloud Storage no projeto do Google Cloud. Ações, como a concessão de permissões específicas ao registro, precisam ser aplicadas diretamente a um bucket.

A criação de um repositório é uma operação separada do envio e recebimento para separar claramente a administração do repositório do uso dele.
  • Para compatibilidade com versões anteriores, configure o suporte ao domínio gcr.io. A configuração inicial inclui a criação automática de repositórios do Artifact Registry para cada host do Container Registry no projeto e o redirecionamento de gcr.io para os repositórios correspondentes do Artifact Registry.
  • O repositório já precisa existir para todas as solicitações de push e pull para o domínio pkg.dev.

No Artifact Registry, não há buckets do Cloud Storage para gerenciar nos projetos do Google Cloud. As ações de gerenciamento de imagens são realizadas diretamente em um repositório.

Local do registro Somente quatro hosts de registro multirregional estão disponíveis em um projeto do Google Cloud. Crie vários repositórios controlados separadamente em região ou multirregião.
Controle de acesso
  • Conceda acesso usando os papéis do Cloud Storage.
  • É possível restringir o acesso a todas as imagens armazenadas em uma multirregião, mas não para repositórios individuais. Por exemplo, é possível restringir o acesso a us.gcr.io no projeto my-project, mas não é possível conceder permissões específicas para imagens em us.gcr.io/my-project/team1 e us.gcr.io/my-project/team2
  • Conceda acesso usando papéis do Artifact Registry.
  • É possível restringir o acesso a repositórios individuais. Por exemplo, é possível controlar separadamente o acesso a imagens em us-docker.pkg.dev/my-project/team1 e us-docker.pkg.dev/my-project/team2.
  • Conceder acesso condicional com tags de IAM e repositório
Authentication Oferece vários métodos de autenticação para enviar e extrair imagens com um cliente de terceiros. O Artifact Registry é compatível com os mesmos métodos de autenticação do Container Registry. Consulte Como configurar a autenticação para o Docker para mais detalhes.
Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) Use CMEK para criptografar os buckets de armazenamento que contêm suas imagens. Use CMEK para criptografar repositórios individuais.
Usar o console do Google Cloud Veja e gerencie as imagens do Container Registry na seção Container Registry do console do Google Cloud. Veja uma lista dos seus repositórios do Artifact Registry e do Container Registry na seção Artifact Registry do console do Google Cloud. Gerencie seus repositórios e imagens do Artifact Registry nesta página.

Se você clicar em um repositório do Container Registry, será direcionado para a lista de imagens na seção Container Registry do console do Google Cloud.

Como usar os comandos gcloud e API Usa comandos gcloud container images. Os comandos são compatíveis com resumos encurtados. Se você não especificar a string de resumo completa, o Container Registry tentará localizar a imagem correta com base na string parcial.

Não há API REST ou RPC para o Container Registry.

Usa os comandos gcloudartifact docker. Os comandos não são compatíveis com resumos encurtados.

Para ver uma comparação dos comandos gcloud do Container Registry e do Artifact Registry, consulte a comparação do comando gcloud.

O Artifact Registry oferece APIs REST e RPC para gerenciar repositórios e artefatos.

Notificações do Pub/Sub Publica alterações no tópico gcr. Publica alterações no tópico gcr. Se você criar repositórios no mesmo projeto que o serviço do Container Registry atual, a configuração atual do Pub/Sub funcionará automaticamente.

Para saber mais, consulte Como configurar notificações do Pub/Sub.

Registro de auditoria O Container Registry não fornece registros de auditoria para a atividade do registro. Use o Cloud Logging para acompanhar as alterações nos seus repositórios.
Imagens do Docker Hub em cache mirror.gcr.io é um cache de pull que armazena as imagens do Docker Hub solicitadas com mais frequência entre todos os usuários. O mirror.gcr.io está em processo de transição para ser hospedado no Artifact Registry. Para mais informações sobre a transição, consulte a nota da versão. Configure um repositório remoto para armazenar em cache as imagens do Docker Hub solicitadas pelos consumidores. Também é possível verificar vulnerabilidades em imagens em um repositório remoto com o Artifact Analysis.
VPC Service Controls É possível adicionar o Container Registry a um perímetro de serviço. É possível adicionar o Artifact Registry a um perímetro de serviço.
Armazenamento e análise de metadados com o Artifact Analysis Verifica vulnerabilidades de pacotes de SO e idiomas com verificação sob demanda em imagens com um SO compatível. A verificação automática só retorna informações de vulnerabilidade do SO. Saiba mais sobre os tipos de verificação.
Verificação sob demanda
Verificação automática
  • O comando gcloud container images da Google Cloud CLI inclui sinalizações para exibir os resultados da verificação, incluindo vulnerabilidades e outros metadados.
  • As verificações só retornam informações sobre vulnerabilidades do SO para imagens no Container Registry com sistemas operacionais compatíveis.
Verificações de vulnerabilidades de pacotes de idiomas e do SO com verificação automática e sob demanda. Saiba mais sobre os tipos de verificação.
Verificação sob demanda
Verificação automática
  • O comando gcloud artifact docker images da Google Cloud CLI inclui sinalizações para mostrar os resultados da verificação, incluindo vulnerabilidades e outros metadados.
  • As verificações retornam informações sobre vulnerabilidade do SO para imagens no Artifact Registry com sistemas operacionais compatíveis e informações de vulnerabilidade do pacote de idiomas para sistemas operacionais com ou sem suporte.
Streaming de imagens Indisponível Faça streaming de imagens no Artifact Registry para o GKE ou o Dataproc sem servidor para escalonamento automático, inicialização mais rápida de pods e latência reduzida ao extrair imagens grandes.
Implantação de origem do Cloud Run Indisponível A implantação de origem permite usar um único comando da CLI gcloud para criar uma imagem de contêiner com base no código-fonte, armazenar a imagem no Artifact Registry e implantá-la no Cloud Run.
Preços Os preços do Container Registry são baseados no uso do Cloud Storage, incluindo armazenamento e saída de rede. Como os hosts de registro só estão disponíveis em multirregiões, os custos de saída incluem a implantação de imagens no Google Cloud O Artifact Registry tem seu próprio preço, com base no armazenamento e na saída da rede.
Cota O Container Registry tem limites fixos de solicitação. As cotas do Cloud Storage também se aplicam. Para mais detalhes, consulte a documentação sobre cotas e limites. O Artifact Registry tem cotas por projeto e por usuário. A cota por usuário é ilimitada por padrão, mas é possível configurar um limite por usuário para que um único usuário não consuma muito da cota no nível do projeto.

gcloud command comparison

A tabela a seguir resume os comandos do Container Registry e os comandos equivalentes do Artifact Registry na CLI gcloud. Clique em um link na tabela para visualizar a página de referência do comando.

A tabela não inclui todos os comandos do Artifact Registry disponíveis que não têm equivalente no Container Registry. Consulte a documentação do gcloud artifacts para ver a referência completa do comando Artifact Registry.

Operação Container Registry Artifact Registry
Crie um repositório Não relevante. gcloudartifact Repositories create
Excluir um repositório. Não relevante. gcloudartifact Repositories delete
Listar imagens gcloud container images list lista de imagens do Docker de artefatos do gcloud
Listar tags gcloud container images list-tags lista de tags do Docker "gcloudartifacts"
Adicionar uma tag gcloud container images add-tag "gcloudartifacts docker tags add"
Excluir uma tag gcloud container images untag gcloud artifacts docker tags delete
Descrever imagens gcloud container images describe gcloud artifacts docker image list --include-tags