Pruebas locales

Durante el desarrollo, puedes ejecutar y probar las imágenes de contenedores de forma local antes de desplegarlas. Puedes usar Cloud Code o Docker instalado de forma local para ejecutar y probar de forma local, incluido el acceso local a los servicios de Google Cloud .

Ejecutar en un emulador de servicio de Knative

El complemento Cloud Code para VS Code y los IDEs de JetBrains te permite ejecutar y depurar localmente tu imagen de contenedor en un emulador de servicio de Knative dentro de tu IDE. El emulador te permite configurar un entorno que representa tu servicio en Knative Serving.

Puedes configurar propiedades como la asignación de CPU y memoria, especificar variables de entorno y definir conexiones de bases de datos de Cloud SQL.

  1. Instala Cloud Code para VS Code o un IDE de JetBrains.
  2. Sigue las instrucciones para desarrollar y depurar localmente en tu IDE.

Ejecutar de forma local con Docker

Para probar tu imagen de contenedor de forma local con Docker, sigue estos pasos:

  1. Usa el comando de Docker:

    PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL

    Sustituye IMAGE_URL por una referencia a la imagen de contenedor. Por ejemplo, gcr.io/cloudrun/hello.

    La variable de entorno PORT especifica el puerto que usará tu aplicación para recibir solicitudes HTTP o HTTPS. Se trata de un requisito del contrato de entorno de ejecución de contenedor. En este ejemplo, usamos el puerto 8080.

  2. Abre http://localhost:9090 en tu navegador.

Si no tienes experiencia con los contenedores, te recomendamos que consultes la guía Introducción a Docker. Para obtener más información sobre los comandos de Docker, consulta la documentación de Docker.

Ejecutar de forma local con Docker y acceso a los servicios de Google Cloud

Si usas bibliotecas de cliente para integrar tu aplicación con servicios de Google Cloud , y aún no has protegido esos servicios para controlar el acceso externo, puedes configurar tu contenedor local para que se autentique con servicios de Google Cloudmediante una clave de cuenta de servicio. Google Cloud

Para ejecutarlo localmente, haz lo siguiente:

  1. Consulta la sección Clave de cuenta de servicio para obtener ayuda con la configuración de tus credenciales.

  2. Las siguientes marcas de ejecución de Docker insertan las credenciales y la configuración de tu sistema local en el contenedor local:

    1. Usa la marca --volume (-v) para insertar el archivo de credenciales en el contenedor (se da por hecho que ya has definido la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en tu máquina):
      -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
    2. Usa la marca --environment (-e) para definir la variable GOOGLE_APPLICATION_CREDENTIALS dentro del contenedor:
      -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
  3. También puedes usar este comando de Docker run totalmente configurado:

    PORT=8080 && docker run \
    -p 9090:${PORT} \
    -e PORT=${PORT} \
    -e K_SERVICE=dev \
    -e K_CONFIGURATION=dev \
    -e K_REVISION=dev-00001 \
    -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \
    -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \
    IMAGE_URL

    Ten en cuenta que la ruta

    /tmp/keys/FILE_NAME.json
    que se muestra en el ejemplo anterior es una ubicación adecuada para colocar las credenciales dentro del contenedor.

    Sin embargo, también funcionarán otras ubicaciones de directorios. El requisito fundamental es que la variable de entorno GOOGLE_APPLICATION_CREDENTIALS debe coincidir con la ubicación del montaje de enlace dentro del contenedor.

    Ten en cuenta también que, con algunos Google Cloud servicios, puede que quieras usar una configuración alternativa para aislar la solución de problemas local del rendimiento y los datos de producción.

Siguientes pasos

Para saber cómo implementar los contenedores que has creado, consulta Implementar servicios.