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

O Container Registry é um registro de imagem de contêiner particular executado no Google Cloud.

Neste guia de início rápido, você aprende a:

  • configurar o Docker para autenticação no Container Registry;
  • marcar e enviar uma imagem para o registro;
  • extrair a imagem do registro.

Este guia de início rápido se concentra na integração com o Docker. Para informações gerais sobre a integração com outros serviços do Google Cloud, consulte Como usar o Container Registry com o Google Cloud.

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 confirmar se o faturamento está ativado para o 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 confirmar se o faturamento está ativado para o 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, a ferramenta de linha de comando gcloud, a interface de linha de comando principal do Google Cloud.
Shell local
Se preferir usar o shell local, instale o Docker e o SDK do Cloud no 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. Clique no botão Ativar o 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 o SDK do Cloud , que inclui a ferramenta de linha de comando 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, é necessário configurar o Docker para usar a ferramenta de linha de comando gcloud para autenticar solicitações para o 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 Console do Google Cloud ID do projeto, que você precisa adicionar ao seu 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

em que PROJECT_ID é o ID do projeto do seu 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 visualizar imagens hosted byhospedadas pelo Container Registry através do Console do Cloud, ou acessar o nome do registro da imagem no 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 no 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 neste guia de início rápido, siga estas etapas:

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 no Console do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.

A seguir