Descripción general

Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores sin estado que se pueden invocar a través de solicitudes HTTP. Cloud Run es una plataforma sin servidores que simplifica la administración de la infraestructura para que puedas enfocarte en lo que más importa: crear aplicaciones extraordinarias.
El objetivo de este lab es que crees una imagen de aplicación sencilla alojada en contenedores y la implementes en Cloud Run.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
- Habilitar las APIs de Cloud Run y Artifact Registry
- Crear una aplicación sencilla de Node.js que se pueda implementar como un contenedor sin servidores ni estado
- Crear un repositorio de Artifact Registry
- Alojar tu app en contenedores y subirla a Artifact Registry
- Implementar una aplicación alojada en contenedores en Cloud Run
- Borrar las imágenes innecesarias para no generar cobros de almacenamiento adicionales
Configuración y requisitos
En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda o escribe el nombre del servicio o producto en el campo Búsqueda.
Activa Google Cloud Shell
Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

-
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
- Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list
Resultado:
Credentialed accounts:
- @.com (active)
Resultado de ejemplo:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Puedes solicitar el ID del proyecto con este comando:
gcloud config list project
Resultado:
[core]
project =
Resultado de ejemplo:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Nota:
La documentación completa de gcloud está disponible en la
guía de descripción general de gcloud CLI
.
Referencia
Comandos básicos de Linux
A continuación, encontrará una lista de referencia con algunos comandos muy básicos de Linux que se pueden incluir en las instrucciones o los bloques de código de este lab.
| Comando --> |
Acción |
. |
Comando --> |
Acción |
|
mkdir (crear directorio) |
crea una carpeta nueva |
. |
cd (cambiar directorio) |
cambia la ubicación a otra carpeta |
|
ls (lista ) |
enumera los archivos y las carpetas en la carpeta |
. |
cat (concatenar) |
lee los contenidos de un archivo sin usar un editor |
| apt-get update |
actualiza la biblioteca del administrador de paquetes |
. |
ping |
indicador para probar la accesibilidad de un host |
|
mv (mover ) |
mueve un archivo |
. |
cp (copiar) |
crea la copia de un archivo |
|
pwd (presentar directorio de trabajo ) |
muestra su ubicación actual |
. |
sudo (superusuario hace) |
otorga privilegios de administrador superiores |
Tarea 1: Habilita la API de Cloud Run y configura tu entorno de shell
En esta tarea, habilitarás las APIs necesarias y configurarás variables de entorno para simplificar tus comandos.
- En Cloud Shell, habilita la API de Cloud Run y la API de Artifact Registry. Esto permitirá que tu proyecto acepte solicitudes para los siguientes servicios:
gcloud services enable run.googleapis.com artifactregistry.googleapis.com
- Si se te solicita autorizar el uso de tus credenciales, hazlo. Luego, deberías ver un mensaje como este, que indica que la operación se realizó correctamente:
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully.
Nota: Para habilitar la API, también puedes consultar la sección APIs y servicios de la consola de Google Cloud.
- Establece la región de procesamiento:
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
- Crea una variable de entorno LOCATION:
LOCATION="{{{project_0.default_region | Region}}}"
Tarea 2: Escribe la aplicación de ejemplo
En esta tarea, crearás una aplicación sencilla de Node.js basada en Express que responda las solicitudes HTTP.
- En Cloud Shell, crea un nuevo directorio llamado
helloworld y, luego, ábrelo en la vista:
mkdir helloworld && cd helloworld
-
A continuación, crearás y editarás archivos. Para editar archivos, haz clic en el botón Open Editor en Cloud Shell para usar nano o el editor de código de Cloud Shell.
-
Crea un archivo package.json y agrégale el siguiente contenido:
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"
}
}
Lo más importante es que el archivo anterior contiene una secuencia de comandos de inicio y una dependencia del framework de aplicaciones web Express.
-
Presiona CTRL + X. Luego, Y y, después, Intro para guardar el archivo package.json.
-
A continuación, en el mismo directorio, crea un archivo index.js y cópiale las siguientes líneas:
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}`);
});
Con este código, se creará un servidor web básico que escuchará en el puerto definido por la variable de entorno PORT. Ahora la app está terminada y lista para alojarla en contenedores y subirla a Artifact Registry.
- Presiona CTRL + X. Luego, Y y, después, Intro para guardar el archivo
index.js
Nota: Puedes usar muchos otros lenguajes para comenzar a usar Cloud Run. Encontrarás instrucciones para las secuencias de comandos de shell, Go, Python, Java, PHP y Ruby, entre otras, en la guía de inicio rápido.
Tarea 3: Crea un repositorio de Artifact Registry
En esta tarea, crearás un repositorio de Artifact Registry. Este actuará como la ubicación de almacenamiento para tus imágenes de contenedor, lo que permitirá que los servicios de Google Cloud accedan a ellas y las extraigan.
- Crea un nuevo repositorio de Docker llamado
my-repository en tu región:
gcloud artifacts repositories create my-repository \
--repository-format=docker \
--location=$LOCATION \
--description="Docker repository"
- Configura Docker para que autentique solicitudes de Artifact Registry en tu región:
gcloud auth configure-docker $LOCATION-docker.pkg.dev
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un repositorio de Artifact Registry
Tarea 4: Aloja tu app en contenedores y súbela a Artifact Registry
En esta tarea, alojarás en contenedores tu aplicación de ejemplo y enviarás la imagen a Artifact Registry.
- Para alojar la app de ejemplo en contenedores, crea un nuevo archivo denominado
Dockerfile en el mismo directorio que los archivos fuente. Este archivo actúa como una receta que le indica a Docker cómo crear tu imagen:
nano Dockerfile
# Use the official lightweight Node.js 12 image.
# https://hub.docker.com/_/node
FROM node:20-slim
# Create and change to the app directory.
WORKDIR /usr/src/app
# Copy application dependency manifests to the container image.
# A wildcard is used to ensure copying both package.json AND package-lock.json (when available).
# Copying this first prevents re-running npm install on every code change.
COPY package*.json ./
# Install production dependencies.
# If you add a package-lock.json, speed your build by switching to 'npm ci'.
# RUN npm ci --only=production
RUN npm install --only=production
# Copy local code to the container image.
COPY . ./
# Run the web service on container startup.
CMD [ "npm", "start" ]
-
Presiona CTRL + X. Luego, Y y, después, Intro para guardar el archivo Dockerfile.
-
Usa Cloud Build para crear la imagen de contenedor. Para ello, ejecuta el siguiente comando desde el directorio que contiene el Dockerfile (fíjate en la variable de entorno $GOOGLE_CLOUD_PROJECT del comando, que contiene el ID del proyecto del lab):
gcloud builds submit --tag $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
Cloud Build es un servicio que ejecuta tus compilaciones en Google Cloud. Ejecuta una serie de pasos de compilación, cada uno en un contenedor de Docker, para producir tu contenedor de aplicaciones (o demás artefactos) y enviarlo a Artifact Registry, todo en un solo comando.
Una vez enviado al registro, verás un mensaje de ÉXITO que contiene el nombre de la imagen. La imagen se almacenará en Artifact Registry y, si quieres, puedes volver a usarla.
- Para ejecutar y probar la aplicación de manera local desde Cloud Shell, iníciala con el siguiente comando estándar de
docker:
docker run -d -p 8080:8080 $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
- En la ventana de Cloud Shell, haz clic en Web preview y selecciona Preview on port 8080.
Debería abrirse una ventana del navegador con el mensaje “Hello World!”. También puedes usar curl localhost:8080.
Haz clic en Revisar mi progreso para verificar el objetivo.
Alojar tu app en contenedores y subirla a Artifact Registry
Tarea 5: Implementa la aplicación en Cloud Run
En esta tarea, implementarás tu aplicación alojada en contenedores en Cloud Run. Este proceso activará un servicio que podrá responder solicitudes web a través de una URL HTTPS segura.
- Implementa tu aplicación alojada en contenedores en Cloud Run con el siguiente comando:
gcloud run deploy helloworld \
--image $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld \
--allow-unauthenticated \
--region=$LOCATION
La marca allow-unauthenticated del comando anterior permite acceder de forma pública a tu servicio.
- Si se te solicita habilitar las APIs, escribe Y.
Espera un momento a que finalice la implementación. Si la operación es exitosa, la línea de comandos mostrará la URL de servicio:
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
Ahora puedes abrir la URL de servicio en cualquier ventana del navegador para visitar el contenedor implementado.
¡Felicitaciones! Acabas de implementar una aplicación empaquetada en una imagen de contenedor en Cloud Run. Cloud Run escala la imagen del contenedor automáticamente y de forma horizontal para controlar las solicitudes que se reciben y, luego, reduce la escala verticalmente cuando disminuye la demanda. En tu entorno, solo debes pagar por la CPU, la memoria y las herramientas de redes que hayas consumido durante la administración de solicitudes.
En este lab, usaste la línea de comandos de gcloud. Cloud Run también está disponible a través de la consola de Cloud.
- En el menú de navegación (
) de la consola de Google Cloud, haz clic en Cloud Run y deberías ver tu servicio helloworld en la lista:

Haz clic en Revisar mi progreso para verificar el objetivo.
Implementar una aplicación alojada en contenedores en Cloud Run
Tarea 6: Realiza una limpieza
En esta tarea, borrarás el servicio implementado y la imagen de contenedor para evitar que se apliquen cargos.
Si bien Cloud Run no cobra cuando el servicio no se usa, es posible que se te cobre por el almacenamiento de la imagen de contenedor creada.
- Puedes borrar tu imagen
helloworld con el siguiente comando:
gcloud artifacts docker images delete $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
-
Cuando se te solicite continuar, escribe Y y presiona Intro.
-
Para borrar el servicio de Cloud Run, usa el siguiente comando:
gcloud run services delete helloworld --region={{{project_0.default_region | "REGION"}}}
- Cuando se te solicite continuar, escribe Y y presiona Intro.
Finaliza el lab
Cuando hayas completado el lab, haz clic en Finalizar lab. Google Skills quitará los recursos que usaste y limpiará la cuenta.
Tendrás la oportunidad de calificar tu experiencia en el lab. Selecciona la cantidad de estrellas que corresponda, ingresa un comentario y haz clic en Enviar.
La cantidad de estrellas indica lo siguiente:
- 1 estrella = Muy insatisfecho
- 2 estrellas = Insatisfecho
- 3 estrellas = Ni satisfecho ni insatisfecho
- 4 estrellas = Satisfecho
- 5 estrellas = Muy satisfecho
Puedes cerrar el cuadro de diálogo si no deseas proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, usa la pestaña Asistencia.
¡Felicitaciones!
Completaste este lab.
Próximos pasos/Más información
Si quieres obtener más información para crear contenedores HTTP sin estado adecuados para Cloud Run a partir de código fuente y enviarlos a Artifact Registry, consulta estas páginas:
Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.