Questa pagina descrive i runtime dei linguaggi e le immagini di base supportati per il deployment di servizi o funzioni dall'origine e di immagini container create da zero.
Le immagini di base sono composte da uno stack del sistema operativo e da un runtime del linguaggio:
- Uno stack è costituito da una versione della distribuzione Linux
e da pacchetti di sistema, come OpenSSL e
curl
. - Un runtime del linguaggio è la versione specifica del linguaggio di programmazione utilizzato dall'applicazione.
Cloud Run supporta più runtime di linguaggi, ognuno dei quali è disponibile tramite le immagini di base dei container fornite dai buildpack di Google Cloud. I runtime del linguaggio sono supportati solo finché sono supportati dalle rispettive community open source.
È responsabilità dello sviluppatore eseguire l'upgrade dei servizi a runtime del linguaggio più recenti prima che raggiungano la fine del supporto. Per maggiori dettagli, consulta il ciclo di vita del runtime di Cloud Run.
Il criterio del ciclo di vita di Cloud Run non si applica ai container creati al di fuori di Cloud Run.
Utilizzo dei runtime dei linguaggi
I runtime del linguaggio Cloud Run vengono utilizzati per:
- Deployment di funzioni e servizi
- Attivazione degli aggiornamenti automatici della sicurezza
- Come immagini di base per la creazione di container
Aggiornamenti di sicurezza e manutenzione
Gli aggiornamenti di sicurezza e manutenzione sono disponibili per i runtime del linguaggio in disponibilità generale. Puoi applicare questi aggiornamenti automaticamente o manualmente a seconda di come configuri gli aggiornamenti automatici della sicurezza. Gli aggiornamenti automatici della sicurezza sono abilitati per impostazione predefinita durante il deployment di funzioni e servizi su Cloud Run.
Come ottenere le immagini di base
Le immagini di base sono ospitate in ogni regione in cui è disponibile Artifact Registry.
Esistono tre metodi per specificare un'immagine di base:
RUNTIME_ID
: fornisce l'immagine di base per la lingua specificata utilizzando il relativo stack predefinito. L'immagine di base verrà presa da un repository nello stessoREGION
in cui è implementato il servizio. Ti consigliamo di specificareRUNTIME_ID
nella maggior parte dei casi.STACK/RUNTIME_ID
: Un alias per il percorso completo dell'immagine di base. L'immagine di base verrà presa da un repository nello stessoREGION
in cui viene implementato il servizio. Utilizza questa opzione se hai bisogno di un pacchetto di sistema specifico nello stack.REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID
: Il percorso completo dell'immagine di base. Utilizza questa opzione se vuoi il controllo completo dell'immagine di base specifica e della regione da cui viene scaricata.
Per i tre metodi per specificare un'immagine di base, sostituisci:
- REGION con la regione preferita, ad esempio
europe-west1
. - STACK con lo stack del sistema operativo preferito, ad esempio
google-22-full
. - RUNTIME_ID con l'ID runtime del linguaggio utilizzato dalla funzione, ad esempio
nodejs22
.
Ad esempio, per fare riferimento al percorso completo dell'immagine di base per l'ultima immagine di base Node.js 20
utilizzando lo stack google-22-full
, ospitato in europe-west1
,
utilizza il seguente URL:
europe-west1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
Node.js 22 | nodejs22 |
|
|
Node.js 20 | nodejs20 |
|
|
Node.js 18 | nodejs18 |
|
|
Node.js 16 | nodejs16 | google-18-full | google-18-full/nodejs16 |
Node.js 14 | nodejs14 | google-18-full | google-18-full/nodejs14 |
Node.js 12 | nodejs12 | google-18-full | google-18-full/nodejs12 |
Node.js 10 | nodejs10 | google-18-full | google-18-full/nodejs10 |
Node.js 8 | nodejs8 | Dismesso | Dismesso |
Node.js 6 | nodejs6 | Dismesso | Dismesso |
Python
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
Python 3.13 | python313 |
|
|
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 |
Vai
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
Go 1.23 |
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 | Dismesso | Dismesso |
Java
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
Java 21 | java21 |
|
|
Java 17 | java17 |
|
|
Java 11 | java11 | google-18-full | google-18-full/java11 |
Ruby
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
Ruby 3.4 | ruby34 |
|
|
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
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
PHP 8.4 | php84 | google-22-full (predefinito) | google-22-full/php84 |
PHP 8.3 | php83 | google-22-full (predefinito) | google-22-full/php83 |
PHP 8.2 | php82 | google-22-full (predefinito) | google-22-full/php82 |
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
.NET
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
.NET 8 | dotnet8 |
|
|
.NET 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |