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 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 privados, incluindo imagens de contêiner, gráficos do Helm e pacotes de linguagem. Ele é o registro de imagem de contêiner recomendado para o Google Cloud.

Teste 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 o Docker Image Manifest V2 e os formatos de imagem 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 a transição do Container Registry para o Artifact Registry, consulte Transição do Container Registry.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Container Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Container Registry API.

    Enable the 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 Google Cloud CLI, a principal interface de linha de comando do Google Cloud.
Shell local
Se preferir usar o shell local, instale o Docker e a CLI gcloud 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. Na barra de menus, 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 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, configure o Docker para usar a Google Cloud CLI e 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 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 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 as imagens hospedadas pelo Container Registry, use o console do Google Cloud ou acesse 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 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 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 do console do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.

A seguir