Las imágenes base se componen de una pila de sistema operativo y un entorno de ejecución de lenguaje:
- Una pila se compone de una versión de distribución de Linux y paquetes del sistema, como OpenSSL y
curl
. - Un entorno de ejecución de lenguaje es la versión específica del lenguaje de programación que usa tu aplicación.
Cloud Run admite varios entornos de ejecución de lenguajes, cada uno de los cuales está disponible a través de imágenes base de contenedores proporcionadas por los paquetes de compilación de Google Cloud. Los entornos de ejecución de lenguajes se admiten solo si son compatibles con sus respectivas comunidades de código abierto.
Es responsabilidad del desarrollador actualizar los servicios a entornos de ejecución de lenguaje más recientes antes de que alcance el fin de la asistencia. Consulta el ciclo de vida del entorno de ejecución de Cloud Run para obtener más información.
La política de ciclo de vida de Cloud Run no se aplica a los contenedores compilados fuera de Cloud Run.
Usa entornos de ejecución de lenguajes
Los entornos de ejecución de lenguaje de Cloud Run se usan para lo siguiente:
- Implementar funciones
- Habilitar las actualizaciones de seguridad automáticas
- Como imágenes base para compilar contenedores
Actualizaciones de seguridad y mantenimiento
Las actualizaciones de seguridad y mantenimiento están disponibles para los entornos de ejecución de lenguaje disponibles a nivel general. Puedes aplicar estas actualizaciones de forma automática o manual, según la forma en que configures las actualizaciones de seguridad automáticas. Las actualizaciones de seguridad automáticas se habilitan de forma predeterminada cuando se implementan funciones en Cloud Run.
Cómo obtener imágenes base
Las imágenes base se alojan en todas las regiones en las que Artifact Registry está disponible.
Existen tres métodos para especificar una imagen base:
RUNTIME_ID
: Te dará la imagen base del lenguaje especificado con su pila predeterminada. La imagen base se tomará de un repositorio en el mismoREGION
en el que se implementó tu servicio. Te recomendamos que especifiquesRUNTIME_ID
en la mayoría de los casos.STACK/RUNTIME_ID
: Es un alias para la ruta de acceso completa de la imagen base. La imagen base se tomará de un repositorio en el mismoREGION
en el que se implementó tu servicio. Usa esta opción si necesitas un paquete de sistema específico en la pila.REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID
: Es la ruta de la imagen base completa. Usa esta opción si deseas tener control total sobre la imagen base específica y la región desde la que se descarga.
Para especificar una imagen base en los tres métodos, reemplaza lo siguiente:
- REGION por la región preferida, por ejemplo,
us-central1
- STACK por la pila preferida del sistema operativo, por ejemplo,
google-22-full
- RUNTIME_ID por el ID del entorno de ejecución de lenguaje que usa la función, por ejemplo,
python310
Por ejemplo, usa la siguiente URL para hacer referencia a la ruta de la imagen base completa de la última imagen base de Node.js 20 mediante la pila google-22-full
, alojada en us-central1
:
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
Node.js 22 | nodejs22 |
|
|
Node.js 20 | nodejs20 |
|
|
Node.js 18 | nodejs18 |
|
|
Node.js 16 | nodejs16 | google-18-full | google-18-full/nodjes16 |
Node.js 14 | nodejs14 | google-18-full | google-18-full/nodjes14 |
Node.js 12 | nodejs12 | google-18-full | google-18-full/nodjes14 |
Node.js 10 | nodejs10 | google-18-full | google-18-full/nodjes10 |
Node.js 8 | nodejs8 | Fuera de servicio | Fuera de servicio |
Node.js 6 | nodejs6 | Fuera de servicio | Fuera de servicio |
Python
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
Python 3.12 | python312 |
|
|
Python 3.11 | python311 |
|
|
Python 3.10 | python310 |
|
|
Python 3.9 | python39 | google-18-full | google-18-full/python39 |
Python 3.8 | python38 | google-18-full | google-18-full/python38 |
Python 3.7 | python37 | google-18-full | google-18-full/python37 |
Go
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
Go 1.23 (solo versión preliminar) |
go123 |
|
|
Go 1.22 | go122 |
|
|
Go 1.21 | go121 |
|
|
Go 1.20 | go120 |
|
|
Go 1.19 | go119 |
|
|
Go 1.18 | go118 |
|
|
Go 1.16 | go116 | google-18-full | google-18-full/go116 |
Go 1.13 | go113 | google-18-full | google-18-full/go113 |
Go 1.11 | go111 | Fuera de servicio | Fuera de servicio |
Java
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
Java 21 | java21 |
|
|
Java 17 | java17 |
|
|
Java 11 | java11 | google-18 | google-18/java11 |
Ruby
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
Ruby 3.3 | ruby33 |
|
|
Ruby 3.2 | ruby32 |
|
|
Ruby 3.0 | ruby30 | google-18-full | google-18-full/ruby30 |
Ruby 2.7 | ruby27 | google-18-full | google-18-full/ruby27 |
Ruby 2.6 | ruby26 | google-18-full | google-18-full/ruby26 |
PHP
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
PHP 8.3 | php83 |
|
|
PHP 8.2 | php82 |
|
|
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
.NET Core
Entorno de ejecución | ID de entorno de ejecución | Pilas | Imagen base del entorno de ejecución |
---|---|---|---|
.NET Core 8 | dotnet8 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |