Compilar y enviar una imagen de Docker con Cloud Build
Compila una imagen de Docker y envíala a Artifact Registry para aprender a usar Cloud Build. Artifact Registry proporciona una ubicación única para administrar paquetes privados y también imágenes de contenedores de Docker.
Primero, compilarás la imagen con un Dockerfile
, que es el archivo de configuración de Docker y, luego, compilarás la misma imagen con el archivo de configuración de Cloud Build.
Para obtener orientación paso a paso directamente sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:
En las siguientes secciones, se explican los mismos pasos que cuando se hace clic en Guiarme.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
-
Habilita las API de Cloud Build and Artifact Registry.
- Instala y, luego, inicializa Google Cloud CLI.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
-
Habilita las API de Cloud Build and Artifact Registry.
- Instala y, luego, inicializa Google Cloud CLI.
Prepara los archivos de código fuente para compilarlos
Necesitarás un código fuente de muestra para empaquetar en una imagen de contenedor. En esta sección, crearás una secuencia de comandos de shell simple y un Dockerfile
. Un Dockerfile
es un documento de texto que contiene instrucciones para que Docker compile una imagen.
Abre una ventana de terminal.
Crea un directorio nuevo llamado
quickstart-docker
y navega hasta él:mkdir quickstart-docker cd quickstart-docker
Crea un archivo llamado
quickstart.sh
con el siguiente contenido:Crea un archivo llamado
Dockerfile
con el siguiente contenido:En la ventana de la terminal, ejecuta el siguiente comando para hacer que
quickstart.sh
sea ejecutable:chmod +x quickstart.sh
Crea un repositorio de Docker en Artifact Registry
Crea un nuevo repositorio de Docker llamado
quickstart-docker-repo
en la ubicaciónus-west2
con la descripción “Repositorio de Docker”:gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
Verifica que se haya creado el repositorio:
gcloud artifacts repositories list
Verás
quickstart-docker-repo
en la lista de repositorios que se muestran.
Compila una imagen con un Dockerfile
Cloud Build te permite compilar una imagen de Docker mediante un Dockerfile
. No se necesita un archivo de configuración de Cloud Build diferente.
Para compilar mediante un Dockerfile
, sigue estos pasos:
Obtén tu ID del proyecto de Cloud mediante la ejecución del siguiente comando:
gcloud config get-value project
Ejecuta el siguiente comando desde el directorio que contiene
quickstart.sh
yDockerfile
:gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1
Una vez completada la compilación, verás un resultado similar al siguiente:
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
Acabas de compilar una imagen de Docker llamada quickstart-image
mediante un Dockerfile
y enviaste la imagen a Artifact Registry.
Compila una imagen mediante un archivo de configuración de compilación
En esta sección, usarás un archivo de configuración de Cloud Build para compilar la misma imagen de Docker que la anterior. El archivo de configuración de compilación indica a Cloud Build que realice tareas según tus especificaciones.
En el mismo directorio que contiene
quickstart.sh
yDockerfile
, crea un archivo llamadocloudbuild.yaml
con el siguiente contenido. Este archivo es tu archivo de configuración de compilación. A la hora de la compilación, Cloud Build reemplaza de forma automática$PROJECT_ID
por tu ID del proyecto.Comienza la compilación mediante la ejecución del siguiente comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Cuando se complete la compilación, verás un resultado similar al siguiente:
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
Acabas de compilar quickstart-image
mediante el archivo de configuración de compilación y enviaste la imagen a Artifact Registry.
Consulta los detalles de la compilación
Abre la página de Cloud Build en Google Cloud Console.
Selecciona tu proyecto y haz clic en Open (Abrir).
Verás la página Historial de compilación:
En el menú desplegable Region, selecciona
us-west2
para ver las compilaciones de esa región.Haz clic en una compilación específica.
Verás la página Detalles de la compilación:
Para ver los artefactos de la compilación, en Resumen de la compilación, haz clic en Artefactos de compilación.
Verás un resultado similar al siguiente:
Puedes descargar tu registro de compilación y ver los detalles de la imagen en Artifact Registry desde esta página.
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.
Abre la página de Artifact Registry en Google Cloud Console.
Selecciona tu proyecto y haz clic en Open.
Selecciona quickstart-docker-repo.
Haz clic en Borrar.
Con estos pasos, borraste las imágenes que creaste como parte de esta guía de inicio rápido.
¿Qué sigue?
- Aprende a ejecutar una imagen de Docker.
- Aprende a crear un archivo de configuración de compilación básico.
- Aprende a realizar implementaciones con Cloud Build.
- Aprende a compilar aplicaciones de Node.js.
- Aprende a compilar aplicaciones de Java.
- Obtén más información sobre cómo compilar aplicaciones de Go.