Visão geral

O Cloud Run é uma plataforma de computação gerenciada onde você executa contêineres sem estado que podem ser invocados usando solicitações HTTP. O Cloud Run não tem servidor. Ele cuida de todo o gerenciamento da infraestrutura para que você possa se concentrar no que mais importa: criar aplicativos incríveis.
O objetivo deste laboratório é criar uma imagem de aplicativo conteinerizado simples que será implantada no Cloud Run.
Objetivos
Neste laboratório, você vai aprender a:
- Ativar as APIs Cloud Run e Artifact Registry.
- Criar um aplicativo Node.js simples que pode ser implantado como um contêiner sem servidor e estado.
- Criar um repositório do Artifact Registry.
- Conteinerizar seu aplicativo e fazer upload dele para o Artifact Registry.
- Implantar um aplicativo conteinerizado no Cloud Run.
- Excluir imagens desnecessárias para evitar cobranças adicionais de armazenamento.
Configuração e requisitos
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento.
No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}}
Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}}
Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar uma lista de produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo ou digite o nome do serviço ou produto no campo Pesquisar.
Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.
O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
-
No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

-
Clique em Continuar.
O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- Para listar o nome da conta ativa, use este comando:
gcloud auth list
Saída:
Credentialed accounts:
- @.com (active)
Exemplo de saída:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Para listar o ID do projeto, use este comando:
gcloud config list project
Saída:
[core]
project =
Exemplo de saída:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Observação:
a documentação completa da gcloud está disponível no
guia com informações gerais sobre a gcloud CLI
.
Referência
Comandos básicos do Linux
Abaixo, você encontra uma lista de referências com alguns dos comandos mais básicos do Linux que podem aparecer nas instruções ou blocos de código deste laboratório.
| Comando --> |
Ação |
. |
Comando --> |
Ação |
|
mkdir (criar diretório) |
cria uma nova pasta |
. |
cd (mudar diretório) |
muda o local para outra pasta |
|
ls (listar ) |
lista arquivos e pastas no diretório |
. |
cat (concatenar) |
lê o conteúdo de um arquivo sem usar um editor |
| apt-get update |
atualiza a biblioteca do gerenciador de pacotes |
. |
ping |
sinal para testar a acessibilidade de um host |
|
mv (mover ) |
move um arquivo |
. |
cp (copiar) |
cria uma cópia do arquivo |
|
pwd (apresentar diretório de trabalho) |
retorna o local atual |
. |
sudo (ação de superusuário) |
concede privilégios de administração |
Tarefa 1: ativar a API Cloud Run e configurar seu ambiente shell
Nesta tarefa, você vai ativar as APIs necessárias e configurar variáveis de ambiente para simplificar os comandos.
- No Cloud Shell, ative a API Cloud Run e a API Artifact Registry. Isso permite que seu projeto aceite solicitações para estes serviços:
gcloud services enable run.googleapis.com artifactregistry.googleapis.com
- Se for solicitado, autorize o uso das suas credenciais. Depois, você verá uma mensagem de sucesso parecida com esta:
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully.
Observação: também é possível ativar a API na seção APIs e serviços no console do Google Cloud.
- Defina a região de computação:
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
- Crie uma variável de ambiente LOCATION:
LOCATION="{{{project_0.default_region | Region}}}"
Tarefa 2: criar o aplicativo de exemplo
Nesta tarefa, você vai criar um aplicativo simples em Node.js baseado no Express que responde a solicitações HTTP.
- No Cloud Shell, crie um novo diretório chamado
helloworld e depois mova sua visualização para ele:
mkdir helloworld && cd helloworld
-
Agora, você vai criar e editar os arquivos. Para fazer mudanças, use o nano ou clique no botão Abrir editor no Cloud Shell para usar o editor de código da ferramenta.
-
Crie um arquivo package.json e adicione este conteúdo a ele:
nano package.json
{
"name": "helloworld",
"description": "Simple hello world sample in Node",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "Google LLC",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.17.1"
}
}
O arquivo acima contém principalmente um comando de script de início e uma dependência no framework Express para aplicativos da Web.
-
Pressione CTRL+X, depois Y e, por último, Enter para salvar o arquivo package.json.
-
No mesmo diretório, crie um arquivo index.js e cole estas linhas nele:
nano index.js
const express = require('express');
const app = express();
const port = process.env.PORT || 8080;
app.get('/', (req, res) => {
const name = process.env.NAME || 'World';
res.send(`Hello ${name}!`);
});
app.listen(port, () => {
console.log(`helloworld: listening on port ${port}`);
});
Esse código cria um servidor da web básico que detecta na porta definida pela variável de ambiente PORT. O app está concluído e pronto para conteinerização e upload no Artifact Registry.
- Pressione CTRL+X, depois Y e, por último, Enter para salvar o arquivo
index.js.
Observação: você pode começar a usar o Cloud Run com outras linguagens também. Acesse o Guia de início rápido e confira instruções para Go, Python, Java, PHP, Ruby, scripts de shell, entre outros.
Tarefa 3: criar um repositório no Artifact Registry
Nesta tarefa, você vai criar um repositório no Artifact Registry. Esse repositório vai atuar como local de armazenamento das imagens de contêiner, permitindo que os serviços do Google Cloud acessem e extraiam essas imagens.
- Crie um novo repositório do Docker chamado
my-repository na sua região:
gcloud artifacts repositories create my-repository \
--repository-format=docker \
--location=$LOCATION \
--description="Docker repository"
- Configure o Docker para autenticar solicitações do Artifact Registry na sua região:
gcloud auth configure-docker $LOCATION-docker.pkg.dev
Clique em Verificar meu progresso para conferir o objetivo.
Criar um repositório do Artifact Registry
Tarefa 4: conteinerizar seu app e fazer upload dele para o Artifact Registry
Nesta tarefa, você vai conteinerizar o aplicativo de exemplo e enviar a imagem para o Artifact Registry.
- Para conteinerizar o app de exemplo, crie um novo arquivo chamado
Dockerfile no mesmo diretório dos arquivos de origem. Esse arquivo funciona como uma roteiro, instruindo o Docker sobre como criar a imagem:
nano Dockerfile
# Usa a imagem oficial lightweight do Node.js 12.
# https://hub.docker.com/_/node
FROM node:20-slim
# Cria o diretório do app e entra nele.
WORKDIR /usr/src/app
# Copia os manifestos de dependências do aplicativo para a imagem do contêiner.
# Um caractere curinga é usado para garantir a cópia tanto de package.json quanto de package-lock.json (caso esteja disponível).
# Copiar isso antes evita que npm install seja re-executado a cada mudança no código.
COPY package*.json ./
# Instala dependências de produção.
# Caso você adicione um package-lock.json, acelere seu build trocando para 'npm ci'.
# RUN npm ci --only=production
RUN npm install --only=production
# Copia o código local para a imagem do contêiner.
COPY . ./
# Executa o web service na inicialização do contêiner.
CMD [ "npm", "start" ]
-
Pressione CTRL+X, depois Y e por último Enter para salvar o arquivo Dockerfile.
-
Crie a imagem do contêiner usando o Cloud Build. Para isso, execute o comando a seguir no diretório que tem seu Dockerfile. A variável de ambiente $GOOGLE_CLOUD_PROJECT no comando contém o ID do projeto do laboratório:
gcloud builds submit --tag $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
O Cloud Build é um serviço que executa seus builds no Google Cloud. Ele segue uma série de etapas do build, cada uma em um contêiner do Docker, para produzir o contêiner do seu aplicativo (ou outros artefatos) e enviá-lo ao Artifact Registry, tudo em um comando.
Depois disso, a mensagem "SUCCESS" aparecerá com o nome da imagem. A imagem é armazenada no Artifact Registry e pode ser reutilizada se você quiser.
- Para executar e testar o aplicativo localmente no Cloud Shell, inicie-o usando este comando padrão do
docker:
docker run -d -p 8080:8080 $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
- Na janela do Cloud Shell, clique em Visualização na Web e selecione Visualizar na porta 8080.
Uma janela do navegador será aberta com a mensagem "Hello World!". Também é possível usar curl localhost:8080.
Clique em Verificar meu progresso para conferir o objetivo.
Conteinerizar seu app e fazer upload dele para o Artifact Registry
Tarefa 5: implantar no Cloud Run
Nesta tarefa, você vai implantar seu aplicativo conteinerizado no Cloud Run. Esse processo inicia um serviço que pode responder a solicitações da web usando um URL HTTPS seguro.
- Implante seu aplicativo conteinerizado no Cloud Run usando o seguinte comando:
gcloud run deploy helloworld \
--image $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld \
--allow-unauthenticated \
--region=$LOCATION
A flag "allow-unauthenticated" no comando acima torna seu serviço disponível publicamente.
- Se for necessário ativar as APIs, digite Y.
Aguarde alguns instantes até a implantação terminar. Em caso de sucesso, a linha de comando vai exibir o URL de serviço:
Service [helloworld] revision [helloworld-00001-xit] has been deployed
and is serving 100 percent of traffic.
Service URL: https://helloworld-h6cp412q3a-uc.a.run.app
Agora você pode acessar o contêiner implantado abrindo o URL de serviço em qualquer janela do navegador.
Parabéns! Você acabou de implantar um aplicativo empacotado em uma imagem de contêiner no Cloud Run. O Cloud Run escalona de maneira automática e horizontal a imagem do contêiner para processar as solicitações recebidas, depois reduz o escalonamento quando a demanda diminui. No seu ambiente, você paga apenas pela CPU, memória e rede consumidas durante o processamento de solicitações.
Neste laboratório, você usou a linha de comando gcloud. O Cloud Run também está disponível no console do Cloud.
- No menu de navegação (
) no console do Google Cloud, clique em Cloud Run. O serviço helloworld vai aparecer na lista:

Clique em Verificar meu progresso para conferir o objetivo.
Implantar um aplicativo conteinerizado no Cloud Run.
Tarefa 6: limpar
Nesta tarefa, você vai excluir o serviço implantado e a imagem do contêiner para evitar cobranças.
O Cloud Run não gera custos quando o serviço não está em uso, mas você ainda vai receber cobranças pelo armazenamento da imagem do contêiner que você criou.
- Você pode excluir a imagem
helloworld usando o seguinte comando:
gcloud artifacts docker images delete $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
-
Quando for solicitado que você prossiga, digite Y e pressione Enter.
-
Para excluir o serviço do Cloud Run, use este comando:
gcloud run services delete helloworld --region={{{project_0.default_region | "REGION"}}}
- Quando for solicitado que você prossiga, digite Y e pressione Enter.
Finalize o laboratório
Após concluir o laboratório, clique em Terminar o laboratório. O Google Skills remove os recursos usados e limpa a conta para você.
Você poderá classificar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.
O número de estrelas indica o seguinte:
- 1 estrela = muito insatisfeito
- 2 estrelas = insatisfeito
- 3 estrelas = neutro
- 4 estrelas = satisfeito
- 5 estrelas = muito satisfeito
Feche a caixa de diálogo se não quiser enviar feedback.
Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.
Parabéns!
Você concluiu este laboratório!
Próximas etapas / Saiba mais
Para saber como criar um contêiner HTTP sem estado compatível com o Cloud Run a partir do código-fonte e enviá-lo para o Artifact Registry, consulte:
Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.