O Artifact Registry é o serviço recomendado para gerenciar imagens de contêiner. O Container Registry ainda é compatível, mas só recebe correções de segurança críticas. Saiba mais sobre a transição para o Artifact Registry.

Guia de início rápido do Container Registry

Neste guia de início rápido, descrevemos como configurar o Docker para o Container Registry e depois enviar e extrair uma imagem.

O Google Cloud tem dois serviços para armazenar e gerenciar imagens de contêiner:

Artifact Registry (recomendado)

Um serviço para armazenar e gerenciar artefatos em repositórios particulares, incluindo imagens de contêiner, gráficos do Helm e pacotes de linguagens. É o registro de imagens de contêiner recomendado para o Google Cloud.

Use o guia de início rápido do Docker para se familiarizar com o Artifact Registry.

Container Registry

Um registro de imagem de contêiner particular compatível com os formatos de imagem Docker Manifest V2 e OCI. Ele fornece um subconjunto de recursos do Artifact Registry.

Se você não estiver usando o Container Registry, use o Artifact Registry. Para ver uma comparação entre o Container Registry e o Artifact Registry e informações sobre como fazer a transição do Container Registry para o Artifact Registry, consulte Transição do Container Registry.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  4. Ative a API Container Registry.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  7. Ative a API Container Registry.

    Ative a API

Escolha um shell

Para concluir este guia de início rápido, use o Cloud Shell ou o shell local.

Cloud Shell
O Cloud Shell é um ambiente de shell para gerenciar recursos hospedados no Google Cloud. Ele vem pré-instalado com o Docker e a CLI do Google Cloud, a interface de linha de comando principal do Google Cloud.
Shell local
Se você preferir usar o shell local, instale o Docker e a CLI gcloud no seu ambiente.

Como iniciar o Cloud Shell

Para iniciar o Cloud Shell, execute os seguintes passos:

  1. Acesse o Console do Google Cloud.

    Console do Google Cloud

  2. Na barra de menus, clique no botão Activate Cloud Shell: "".

Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use esse shell para executar comandos gcloud.

Como configurar um shell local

Para instalar o gcloud e o Docker, execute as seguintes etapas:

  1. Instale a CLI da gcloud. Para atualizar uma instalação atual, execute o comando gcloud components update.

  2. Instale o Docker se ele ainda não estiver instalado.

  3. O Docker requer acesso com privilégios para interagir com registros. No Linux ou no Windows, adicione o usuário utilizado para executar comandos do Docker no grupo de segurança do Docker. Esta etapa não é necessária no MacOS porque o Docker Desktop é executado em uma máquina virtual como o usuário raiz.

    Linux

    O grupo de segurança do Docker é chamado de docker. Para adicionar seu nome de usuário, execute o seguinte comando:

    sudo usermod -a -G docker ${USER}
    

    Windows

    O grupo de segurança do Docker é chamado de docker-users. Para adicionar um usuário a partir do prompt de comando do administrador, execute o seguinte comando:

    net localgroup docker-users DOMAIN\USERNAME /add
    

    Em que

    • DOMAIN é seu domínio do Windows.
    • USERNAME é seu nome de usuário.
  4. Saia e acesse novamente para a mudança de filiação ao grupo fazer efeito. Se estiver usando uma máquina virtual, talvez seja necessário reiniciar a máquina virtual para a mudança fazer efeito;

  5. Para garantir que o Docker esteja ativo, execute o seguinte comando do Docker, que retorna a hora e a data atuais:

  6. docker run busybox date
    

Configurar a autenticação

Antes de enviar ou extrair imagens, você precisa configurar o Docker para usar a CLI do Google Cloud para autenticar solicitações ao Container Registry.

Execute este comando:

gcloud auth configure-docker

O comando atualiza a configuração do Docker. Agora é possível se conectar com o Container Registry no projeto do Google Cloud para enviar e extrair imagens por push ou pull.

Acessar uma imagem para enviar

Neste guia de início rápido, você enviará uma imagem de amostra chamada hello-app.

  1. Altere para um diretório em que você quer salvar a imagem.
  2. Execute o comando a seguir para extrair a versão 1.0 da imagem.

    docker pull gcr.io/google-samples/hello-app:1.0
    

Adicionar a imagem ao Container Registry

Para adicionar uma imagem ao Container Registry, marque-a e envie-a para o registro.

Marcar a imagem com um nome de registro

Marcar a imagem do Docker com um nome de registro configura o comando docker push para enviar a imagem a um local específico. Para este guia de início rápido, o local do host é gcr.io.

Execute o seguinte comando para marcar a imagem como quickstart-image:tag1:

docker tag gcr.io/google-samples/hello-app:1.0 gcr.io/PROJECT_ID/quickstart-image:tag1

Substitua:

  • PROJECT-ID é o ID do projeto do Console do Google Cloud que você precisa adicionar ao comando. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
  • gcr.io é o nome do host
  • quickstart-image é o nome da imagem do Docker
  • tag1 é uma tag que você está adicionando à imagem do Docker. Se você não especificou uma tag, o Docker aplicará a tag padrão latest.

Agora você está pronto para enviar a imagem ao Container Registry.

Enviar a imagem ao Container Registry

Depois de configurar a autenticação e marcar a imagem local, é possível enviá-la para o repositório que você criou.

Basta executar o comando a seguir:

docker push gcr.io/PROJECT_ID/quickstart-image:tag1

PROJECT_ID é o ID do projeto do Console do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.

Quando você envia uma imagem para um novo local de host, o serviço cria um bucket de armazenamento subjacente exclusivo para seu projeto. Para ver imagens hospedadas pelo Container Registry, basta usar o Console do Cloud ou acessar o nome do registro da imagem no seu navegador da Web: http://gcr.io/PROJECT_ID/quickstart-image.

Extrair a imagem do Container Registry

Para extrair a imagem do Container Registry para a máquina local, execute o comando a seguir:

docker pull gcr.io/PROJECT_ID/quickstart-image:tag1

Substitua PROJECT_ID pelo ID do projeto do Console do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.

O resultado será assim:

latest: Pulling from my-project/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for gcr.io/my-project/quickstart-image:tag1

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

Execute o comando a seguir para excluir a imagem do Docker do Container Registry.

gcloud container images delete gcr.io/PROJECT_ID/quickstart-image:tag1 --force-delete-tags

Substitua PROJECT_ID pelo ID do projeto do Console do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.

A seguir