Criar e enviar uma imagem do Docker com o Cloud Build
Saiba como começar a usar o Cloud Build criando uma imagem do Docker e enviando a imagem ao Artifact Registry. O Artifact Registry fornece um único local para gerenciar imagens particulares de contêiner do Docker e pacotes.
Primeiro, você cria a imagem usando um Dockerfile
, que é o arquivo de configuração do Docker,
depois cria a mesma imagem usando o
arquivo de configuração do Cloud Build.
Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Preparar os arquivos de origem para o build
Você precisará de um código-fonte de amostra para empacotar em uma imagem do contêiner. Nesta seção, você criará um script de shell simples e um Dockerfile
. Um Dockerfile
é um documento de texto que contém instruções para o Docker criar uma imagem.
Abra uma janela de terminal.
Crie um novo diretório chamado
quickstart-docker
e navegue até ele:mkdir quickstart-docker cd quickstart-docker
Crie um arquivo chamado
quickstart.sh
com o seguinte conteúdo:Crie um arquivo chamado
Dockerfile
com o seguinte conteúdo:Na janela do terminal, execute o seguinte comando para tornar
quickstart.sh
executável:chmod +x quickstart.sh
Criar um repositório do Docker no Artifact Registry
Crie um novo repositório do Docker chamado
quickstart-docker-repo
no localus-west2
com a descrição "repositório do Docker":gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
Verifique se o repositório foi criado:
gcloud artifacts repositories list
Você verá
quickstart-docker-repo
na lista de repositórios exibidos.
Criar uma imagem usando o Dockerfile
O Cloud Build torna possível que você crie uma imagem do Docker usando um Dockerfile
. Você não precisa de um arquivo de configuração separado do Cloud Build.
Para criar usando um Dockerfile
:
Receba o ID do projeto do Google Cloud executando o seguinte comando:
gcloud config get-value project
Execute o comando a seguir no diretório que contém
quickstart.sh
eDockerfile
:gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1
Após a conclusão da build, você verá uma resposta semelhante a esta:
DONE
------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
545cb89c-f7a4-4652-8f63-579ac974be2e 2020-11-05T18:16:04+00:00 16S gs://gcb-docs-project_cloudbuild/source/1604600163.528729-b70741b0f2d0449d8635aa22893258fe.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Você acabou de criar uma imagem do Docker chamada quickstart-image
usando um Dockerfile
e enviou a imagem para o Artifact Registry.
Criar uma imagem usando um arquivo de configuração do build
Nesta seção, você usará um arquivo de configuração do Cloud Build para criar a mesma imagem do Docker como acima. O arquivo de configuração de build instrui o Cloud Build a realizar tarefas com base nas suas especificações.
No mesmo diretório que contém
quickstart.sh
eDockerfile
, crie um arquivo chamadocloudbuild.yaml
com o seguinte conteúdo. Esse arquivo é o arquivo de configuração da versão. No momento da criação, o Cloud Build substitui automaticamente$PROJECT_ID
pelo ID do projeto.Inicie o build executando o seguinte comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Quando a criação for concluída, você verá um resultado semelhante a este:
DONE
------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
046ddd31-3670-4771-9336-8919e7098b11 2020-11-05T18:24:02+00:00 15S gs://gcb-docs-project_cloudbuild/source/1604600641.576884-8153be22c94d438aa86c78abf11403eb.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Você acabou de criar quickstart-image
usando o arquivo de configuração da versão e enviou
a imagem para o Artifact Registry.
Ver detalhes do build
Abra a página do Cloud Build no console do Google Cloud.
Selecione o projeto e clique em Abrir.
Você verá a página Histórico da versão:
No menu suspenso Região, selecione
us-west2
para conferir os builds nessa região.Clique em um build específico.
Você verá a página Detalhes da build:
Para ver os artefatos de criação, em Resumo da build, clique em Artefatos da build.
Você verá um resultado semelhante a este:
Nesta página, faça o download do seu registro da build e veja os detalhes da imagem no Artifact Registry.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
Abra a página do Artifact Registry no console do Google Cloud.
Selecione o projeto e clique em Abrir.
Selecione quickstart-docker-repo.
Clique em Excluir.
Você já excluiu o repositório criado como parte deste guia de início rápido.
A seguir
- Saiba como executar uma imagem do Docker.
- Saiba como criar um arquivo de configuração do build básico.
- Saiba como implantar usando o Cloud Build.
- Saiba como criar aplicativos Node.js.
- Saiba como criar aplicativos Java.
- Saiba como criar aplicativos Go.