Compila contenedores

Cloud Run acepta imágenes de contenedor compiladas con cualquier herramienta apta, siempre que respeten el contrato del contenedor. En particular, tu código debe escuchar las solicitudes HTTP en el puerto que define la variable de entorno PORT. Cloud Run inserta de manera automática esta variable de entorno PORT en tu contenedor.

En esta página, se describen varias formas de compilar imágenes de contenedor:

  • Usa un Dockerfile
  • Usa Buildpacks

Compila mediante un Dockerfile

Si usas Dockerfiles, puedes usar cualquiera de los siguientes métodos para compilar:

  • Compila mediante Cloud Build
  • Compila de forma local mediante Docker

Compila mediante Cloud Build

Puedes compilar tu imagen en Google Cloud mediante Cloud Build:

  1. Navega a la carpeta que contiene tus fuentes y el Dockerfile.

  2. Ejecuta este comando:

    gcloud builds submit --tag IMAGE_URL

    Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest.

Para obtener sugerencias sobre cómo mejorar el rendimiento de la compilación, consulta Acelera las compilaciones.

Compila de forma local y realiza el envío mediante Docker

Si tienes Docker instalado de manera local, puedes usar docker build en lugar de Cloud Build o Buildpacks.

Antes de compilar las fuentes en una imagen de contenedor (“creación de contenedores”) mediante Docker, debe haber un Dockerfile presente, además de las fuentes. La guía de inicio rápido Compila e implementa contiene aplicaciones de muestra y varios Dockerfiles en lenguajes conocidos.

Para compilar tu imagen de contenedor mediante Docker, sigue estos pasos:

  1. Navega a la carpeta que contiene tus fuentes y el Dockerfile.

  2. Ejecuta este comando:

    docker build . --tag IMAGE_URL

    Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest.

  3. Si aún no configuraste Docker para usar la herramienta de línea de comandos de gcloud a fin de autenticar solicitudes a Container Registry, hazlo ahora mediante el siguiente comando:

    gcloud auth configure-docker

    Debes hacer esto antes de enviar o extraer imágenes mediante Docker. Solo debes hacerlo una vez.

  4. Envía la imagen de contenedor a Container Registry:

    docker push IMAGE_URL

    Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest.

Para excluir archivos locales de este proceso, sigue las instrucciones del archivo de configuración .dockerignore.

Compila mediante Buildpacks

Para obtener información completa sobre Buildpacks, consulta el sitio web de Buildpacks. Google proporciona un conjunto de Buildpacks compatibles con CNCF que compilan código fuente en imágenes de contenedor diseñadas para ejecutarse en plataformas de contenedores de Google Cloud, incluido Cloud Run.

Las siguientes plataformas son compatibles en este momento:

  • Go
  • Node.js
  • Python
  • Java
  • .NET Core

Compila con Buildpacks mediante Cloud Build

Sigue estos pasos para compilar con un Buildpack:

  1. Navega a la carpeta que contiene tus fuentes.

  2. Ejecuta este comando:

    gcloud alpha builds submit --pack image=IMAGE_URL

    Reemplaza IMAGE_URL por la URL de la imagen de contenedor, como gcr.io/myproject/myservice.

  3. Espera a que se complete la compilación.

Compila con Buildpacks mediante la línea de comandos pack

Sigue estos pasos para compilar mediante el comando pack:

  1. Si aún no lo hiciste, instala Docker.

  2. Si aún no configuraste Docker para usar la herramienta de línea de comandos de gcloud a fin de autenticar solicitudes a Container Registry, hazlo ahora mediante el siguiente comando:

    gcloud auth configure-docker

    Debes hacer esto antes de enviar o extraer imágenes mediante Docker. Solo debes hacerlo una vez.

  3. Si aún no lo hiciste, instala pack.

  4. Navega a la carpeta que contiene tus fuentes.

  5. Ejecuta el siguiente comando para compilar y enviar a tu Container Registry:

    pack build --publish IMAGE_URL

    Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest.

  6. Espera a que termine pack.

Para obtener más información, lee las instrucciones provistas en Compila una aplicación.

Próximos pasos