Pesquisa de site

Como enviar e extrair imagens do Docker do Google Container Registry


O Google Container Registry é um serviço de armazenamento privado para imagens do Docker, usado para executar aplicativos em contêineres. Ele é usado para hospedar imagens para implantação em outros serviços de contêiner do GCP, como Cloud Run e Kubernetes Engine.

O que é o Google Container Registry?

Ao trabalhar com imagens do Docker, muitas vezes você as empurra e extrai de um registro de contêiner, usado para armazenamento e acesso centralizado rápido. O registro mais popular é o Docker Hub oficial, que é público, mas muitos provedores de nuvem oferecem registros de contêiner privados. O Container Registry do Google é um deles, fornecendo seu próprio registro para sua conta GCP.

É bem simples de usar. Com alguma configuração do Docker, você deve conseguir enviar e extrair imagens usando docker tag e docker push e, em seguida, implantar essas atualizações como atualizações de contêiner no Kubernetes Engine.

O Container Registry não está disponível para contas que não ativaram o faturamento. No entanto, é muito barato: os contêineres são armazenados em um bucket do Cloud Storage e você paga apenas o padrão US$0,026 por GB por mês para armazenamento, bem como cobranças de dados padrão para saída. Opcionalmente, você pode habilitar a “Varredura de Vulnerabilidade”, que custa US$0,26 por atualização de contêiner para verificar vulnerabilidades no software subjacente usado no contêiner.

Enviando imagens para GCR

Antes de começarmos, você precisa se certificar de que instalou o Google Cloud SDK, que lhe dará acesso à gcloud CLI. Obviamente, você também precisará do Docker instalado para trabalhar com imagens de contêiner em primeiro lugar.

Você precisará habilitar a API do Container Registry. Clique em Ativar.

Como os repositórios são privados, você precisará configurar o Docker para funcionar com a autenticação gcloud, o que pode ser feito automaticamente com o seguinte comando que fará algumas alterações na configuração do Docker para adicionar a CLI gcloud como um auxiliar de credencial:

gcloud auth configure-docker

Você precisará do ID do projeto para a próxima etapa; isso é visível no menu suspenso Selecionar projeto no console do GCP. Copie a identificação.

Em seguida, você pode marcar a imagem normalmente usando docker tag, fornecendo apenas um nome de host personalizado para GCR. Por padrão, gcr.io armazena imagens em um depósito de armazenamento em nuvem localizado nos EUA. Você também pode usar eu.gcr.io e asia.gcr.io para essas regiões.

docker tag [SOURCE_IMAGE] gcr.io/[PROJECT-ID]/[IMAGE]

Isso marca a imagem como latest, o padrão para novas implantações, mas se quiser usar outra tag, você pode anexar :tag ao nome da imagem.

Depois de marcado, você pode carregá-lo no GCR com docker push:

docker push gcr.io/[PROJECT-ID]/[IMAGE]

Depois de carregados, eles ficarão visíveis no console do Container Registry ou executando gcloud container images list-tags, e você poderá usá-los para suas implantações do Cloud Run e do Kubernetes.

Se você deseja puxar manualmente a imagem para baixo, pode fazê-lo com docker pull:

docker pull gcr.io/[PROJECT-ID]/[IMAGE]:[TAG]

Obviamente, você precisará do gcloud instalado e configurado como um auxiliar de credencial na máquina que faz a extração, ou não será capaz de autenticar.

Artigos relacionados: