Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.
Descripción general
Los buildpacks son otro enfoque para crear imágenes de contenedor y proporcionan una alternativa para convertir el código fuente en una imagen de contenedor. Los buildpacks se distribuyen y ejecutan en imágenes llamadas compiladores. Cada compilador puede tener uno o más buildpacks. Un compilador convierte el código fuente en una imagen de contenedor. Los buildpacks hacen el trabajo real de compilar y empaquetar la imagen de contenedor que puedes implementar en Cloud Run o ejecutar con Docker de forma local.
Puedes crear tus propios buildpacks o usar los que ofrecen varios proveedores. Los buildpacks de Google Cloud permiten a los desarrolladores compilar e implementar aplicaciones alojadas en contenedores sin necesidad de instalar Docker de forma local ni crear un Dockerfile. Los buildpacks también están integrados en Cloud Run para habilitar un flujo de trabajo de implementación basado en código fuente.
Objetivos
En este lab, aprenderás a hacer lo siguiente:
Compilar una aplicación con pack, una herramienta de línea de comandos que se usa con compiladores para crear imágenes de contenedor a partir de código fuente
Usar el compilador de buildpacks de Google Cloud para crear una imagen de contenedor
Ejecutar y probar el contenedor de forma local con Docker
Crear y volver a implementar el contenedor en Cloud Run
Configuración
En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
Accede a Qwiklabs desde una ventana de incógnito.
Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.
Cuando esté listo, haga clic en Comenzar lab.
Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haga clic en Abrir Google Console.
Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
Si usa otras credenciales, se generarán errores o incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación.
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:
Consulta los archivos de la aplicación de muestra y el código fuente:
ls sample-py-app
cat sample-py-app/main.py
Como el buildpack de Python no genera un punto de entrada de contenedor predeterminado para la aplicación, usamos un Procfile para configurar el comando de inicio de la aplicación.
La aplicación está escrita en Python y devuelve un mensaje de bienvenida de muestra en respuesta a una solicitud realizada a la aplicación.
Crea el contenedor
Cambia al directorio de la aplicación de ejemplo:
cd sample-py-app
Actualiza el objeto binario pack en Cloud Shell:
(curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.39.0/pack-v0.39.0-linux.tgz" | sudo tar -C /usr/local/bin/ --no-same-owner -xzv pack)
pack es una herramienta de la interfaz de línea de comandos (CLI) que se usa para crear imágenes de contenedor a partir del código fuente de una aplicación con Cloud Native Buildpacks (CNB).
...
...
[exporter] Setting default process type 'web'
[exporter] Saving sample-py-app...
[exporter] *** Images (9f9f9a48fd46):
[exporter] sample-py-app
[exporter] Adding cache layer 'google.python.pip:pip'
[exporter] Adding cache layer 'google.python.pip:pipcache'
Successfully built image sample-py-app
Nota: Con pack, no necesitas escribir ni proporcionar un Dockerfile para crear la imagen de contenedor.
Para ver las imágenes descargadas y creadas en tu host de Cloud Shell, ejecuta el siguiente comando:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/buildpacks/builder latest 514fb6f1bbfe 29 hours ago 804MB
gcr.io/buildpacks/gcp/run v1 22db1b5e48e3 29 hours ago 177MB
buildpacksio/lifecycle 0.16.0 67e021546a3f 43 years ago 30.5MB
sample-py-app latest 9f9f9a48fd46 43 years ago 571MB
Ejecuta el contenedor de forma local en Docker pasando la variable de entorno PORT a la aplicación y vinculando el puerto 8080 del host al puerto del contenedor:
docker run -it -e PORT=8080 -p 8080:8080 -d sample-py-app
El código de la aplicación escucha en el puerto que se proporciona en la variable de entorno, en este caso, el puerto 8080.
Prueba la aplicación alojada en contenedores con el comando curl:
curl http://localhost:8080/
Deberías ver el siguiente mensaje como respuesta:
Welcome to this sample app, built with Buildpacks.
Tarea 3: Compila y ejecuta una aplicación en Cloud Run
Por lo general, como paso siguiente del ciclo de vida de desarrollo e implementación, debes enviar la imagen de contenedor que creaste en la tarea anterior a Artifact Registry y, luego, implementarla en un entorno basado en contenedores, como Google Kubernetes Engine o Cloud Run.
En esta tarea, modificarás el código de la aplicación de muestra y, luego, compilarás la aplicación alojada en contenedores y la implementarás directamente desde la fuente con Cloud Run.
Modifica el código de la aplicación
Modificarás el código de la aplicación de ejemplo para que utilice la API de Google Translation, que traduce un fragmento de texto del inglés al español.
Edita el archivo main.py con un editor de tu elección, por ejemplo, vi o nano. También puedes hacer clic en Abrir editor en el menú de Cloud Shell para editar el archivo.
Reemplaza todo el contenido del archivo main.py por el siguiente código:
from flask import Flask, request
import google.auth
from google.cloud import translate
app = Flask(__name__)
_, PROJECT_ID = google.auth.default()
TRANSLATE = translate.TranslationServiceClient()
PARENT = 'projects/{}'.format(PROJECT_ID)
SOURCE, TARGET = ('en', 'English'), ('es', 'Spanish')
@app.route('/', methods=['GET', 'POST'])
def index():
# Restablece todas las variables
text = translated = None
if request.method == 'POST':
text = request.get_json().get('text').strip()
if text:
data = {
'contents': [text],
'parent': PARENT,
'target_language_code': TARGET[0],
}
# Controla la llamada anterior para ofrecer retrocompatibilidad
try:
rsp = TRANSLATE.translate_text(request=data)
except TypeError:
rsp = TRANSLATE.translate_text(**data)
translated = rsp.translations[0].translated_text
# crea el contexto
context = {
'trtext': translated
}
return context
if __name__ == "__main__":
# Solo para desarrollo: Ejecuta "python main.py" y abre http://localhost:8080
import os
app.run(host="localhost", port=int(os.environ.get('PORT', 8080)), debug=True)
El código de la aplicación usa la API de Google Translate para traducir un fragmento de texto que se pasa en una solicitud JSON del inglés al español.
Crea e implementa el contenedor
Para crear e implementar el contenedor en Cloud Run, ejecuta el siguiente comando:
gcloud run deploy sample-py-app --source . --region=${REGION} --allow-unauthenticated
La opción allow-unauthenticated permite acceder al servicio sin necesidad de autenticarse.
Cuando se te solicite, escribe Y para aceptar el repositorio predeterminado que se crea en Artifact Registry para almacenar la imagen de contenedor.
Cuando se complete el comando, se creará un servicio de Cloud Run llamado sample-py-app.
El resultado del comando es similar al siguiente:
Building using Buildpacks and deploying container to Cloud Run service [sample-py-app] in project [qwiklabs-gcp-00-0d56d42aca1a] region [asia-east1]
OK Building and deploying new service... Done.
OK Creating Container Repository...
OK Uploading sources...
OK Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/8bea2ded-4745-41f9-a82d-128e409daa20?project=34240880885].
OK Creating Revision...
OK Routing traffic...
OK Setting IAM Policy...
Done.
Service [sample-py-app] revision [sample-py-app-00001-nec] has been deployed and is serving 100 percent of traffic.
Service URL: https://sample-py-app-ulvp7xw3bq-de.a.run.app
Prueba el servicio de Cloud Run
Configura una variable de entorno para el servicio de Cloud Run que se creó en el paso anterior:
SERVICE_URL=$(gcloud run services describe sample-py-app --region=${REGION} --format="value(status.url)"); echo $SERVICE_URL
Para probar el servicio, ejecuta el comando curl:
curl $SERVICE_URL -H 'Content-Type: application/json' -d '{"text" : "Welcome to this sample app, built with Google Cloud buildpacks."}'
El servicio responde con el texto traducido:
{"trtext":"Bienvenido a esta aplicaci\u00f3n de muestra, creada con paquetes de compilaci\u00f3n de Google Cloud."}
Haz clic en Revisar mi progreso para verificar el objetivo.
Implementar una aplicación en Cloud Run
¡Felicitaciones!
En este lab, compilaste una aplicación con el comando pack y el compilador de buildpacks de Google Cloud para crear una imagen de contenedor para una aplicación de Python de muestra. Primero, ejecutaste y probaste el contenedor de forma local con Docker antes de volver a crearlo e implementarlo en Cloud Run.
Próximos pasos y más información
Para obtener más información, consulta la documentación:
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.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
Un lab a la vez
Confirma para finalizar todos los labs existentes y comenzar este
Usa la navegación privada para ejecutar el lab
Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar
este lab. Así evitarás cualquier conflicto entre tu cuenta personal
y la cuenta de estudiante, lo que podría generar cargos adicionales en
tu cuenta personal.
En este lab, compilarás una aplicación alojada en contenedores con el paquete de herramientas de la CLI y el compilador de paquetes de compilación de Google Cloud.
Duración:
0 min de configuración
·
Acceso por 60 min
·
60 min para completar