Questa pagina descrive i runtime dei linguaggi e le immagini di base supportati per il deployment di servizi o funzioni dal codice sorgente e le 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 è composto 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 dalla tua applicazione.
Cloud Run supporta più runtime di linguaggi, ognuno dei quali è disponibile tramite immagini di base dei container fornite dai buildpack di Google Cloud. I runtime dei linguaggi sono supportati solo finché sono supportati dalle rispettive community open source.
È responsabilità dello sviluppatore eseguire l'upgrade dei servizi a runtime di linguaggio più recenti prima che raggiungano la fine del supporto. Per maggiori dettagli, consulta il ciclo di vita del runtime di Cloud Run.
La policy 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 dei linguaggi di 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 della sicurezza e di manutenzione
Gli aggiornamenti di sicurezza e manutenzione sono disponibili per i runtime dei linguaggi in disponibilità generale. Puoi applicare questi aggiornamenti automaticamente o manualmente, a seconda di come configuri gli aggiornamenti della sicurezza automatici. Gli aggiornamenti automatici della sicurezza sono abilitati per impostazione predefinita quando esegui il deployment di funzioni e servizi in Cloud Run.
Come ottenere le immagini di base
Le immagini di base sono ospitate in ogni regione in cui Artifact Registry è disponibile.
Esistono tre metodi per specificare un'immagine di base:
RUNTIME_ID: fornisce l'immagine di base per il linguaggio specificato utilizzando lo stack predefinito. L'immagine di base verrà prelevata da un repository nella stessaREGIONin cui è stato eseguito il deployment del servizio. Ti consigliamo di specificareRUNTIME_IDper la maggior parte dei casi.STACK/RUNTIME_ID: un alias per il percorso completo dell'immagine di base. L'immagine di base verrà prelevata da un repository nello stessoREGIONin cui viene eseguito il deployment del 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 sull'immagine di base specifica e sulla regione da cui viene scaricata.
Per i tre metodi di specifica di 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-24-full. - RUNTIME_ID con l'ID runtime del linguaggio utilizzato dalla tua funzione, ad esempio
nodejs24.
Ad esempio, per fare riferimento al percorso completo dell'immagine di base più recente di Node.js utilizzando lo stack google-24-full, ospitato in europe-west1, utilizza il seguente URL:
europe-west1-docker.pkg.dev/serverless-runtimes/google-24-full/runtimes/nodejs24
Node.js
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Node.js 26 (anteprima) |
nodejs26 |
|
|
||
| Node.js 24 | nodejs24 |
|
|
30/04/2028 | 31/10/2028 |
| Node.js 22 | nodejs22 |
|
|
30/04/2027 | 31/10/2027 |
| Node.js 20 | nodejs20 |
|
|
30/04/2026 | 30/10/2026 |
| Node.js 18 | nodejs18 |
|
|
30/04/2025 | 30/10/2025 |
| Node.js 16 | nodejs16 | google-18-full | google-18-full/nodejs16 | 30/01/2024 | 30/01/2025 |
| Node.js 14 | nodejs14 | google-18-full | google-18-full/nodejs14 | 30/01/2024 | 30/01/2025 |
| Node.js 12 | nodejs12 | google-18-full | google-18-full/nodejs12 | 30/01/2024 | 30/01/2025 |
| Node.js 10 | nodejs10 | google-18-full | google-18-full/nodejs10 | 30/01/2024 | 30/01/2025 |
| Node.js 8 | nodejs8 | Dismesso | Dismesso | 05/06/2020 | Febbraio 2021 |
| Node.js 6 | nodejs6 | Dismesso | Dismesso | 17/04/2019 | Agosto 2020 |
Python
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Python 3.15 (anteprima) |
python315 |
|
|
||
| Python 3.14 | python314 |
|
|
2030-10-10 | 2031-04-10 |
| Python 3.13 | python313 |
|
|
10/10/2029 | 10/04/2030 |
| Python 3.12 | python312 |
|
|
10/02/2028 | 02/04/2029 |
| Python 3.11 | python311 |
|
|
24/10/2027 | 24/04/2028 |
| Python 3.10 | python310 |
|
|
4/10/2026 | 04/04/2027 |
| Python 3.9 | python39 | google-18-full | google-18-full/python39 | 5/10/2025 | 05/04/2026 |
| Python 3.8 | python38 | google-18-full | google-18-full/python38 | 14/10/2024 | 14/10/2025 |
| Python 3.7 | python37 | google-18-full | google-18-full/python37 | 30/01/2024 | 30/01/2025 |
Go
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Go 1.27 | go127 |
|
|
Agosto/settembre 2027 | Febbraio/marzo 2028 |
| Go 1.26 | go126 |
|
|
Febbraio/marzo 2027 | Agosto/settembre 2027 |
| Go 1.25 | go125 |
|
|
2026-10-01 | 2027-04-01 |
| Go 1.24 | go124 |
|
|
2026-09-02 | 2027-03-02 |
| Go 1.23 |
go123 |
|
|
21/02/2026 | 21/08/2026 |
| Go 1.22 | go122 |
|
|
28/01/2026 | 28/07/2026 |
| Go 1.21 | go121 |
|
|
3/09/2025 | 03/03/2026 |
| Go 1.20 | go120 |
|
|
1/05/2024 | 01/05/2025 |
| Go 1.19 | go119 |
|
|
30/04/2024 | 30/01/2025 |
| Go 1.18 | go118 |
|
|
30/01/2024 | 30/01/2025 |
| Go 1.16 | go116 | google-18-full | google-18-full/go116 | 30/01/2024 | 30/01/2025 |
| Go 1.13 | go113 | google-18-full | google-18-full/go113 | 30/01/2024 | 30/01/2025 |
| Go 1.11 | go111 | Dismesso | Dismesso | 05/08/2020 | Febbraio 2021 |
Java
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Java 25 | java25 |
|
|
Ottobre 2031 | |
| Java 21 | java21 |
|
|
Settembre 2031 | |
| Java 17 | java17 |
|
|
Ottobre 2027 | |
| Java 11 | java11 | google-18-full | google-18-full/java11 | 31/10/2024 | 31/10/2025 |
Ruby
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Ruby 4.0 | ruby40 | google-24-full (predefinito) | google-24-full/ruby40 | 2029-03-31 | 2029-09-30 |
| Ruby 3.4 | ruby34 |
|
|
31/03/2028 | 30/09/2028 |
| Ruby 3.3 | ruby33 |
|
|
31/03/2027 | 30/09/2027 |
| Ruby 3.2 | ruby32 |
|
|
31/03/2026 | 30/09/2026 |
| Ruby 3.0 | ruby30 | google-18-full | google-18-full/ruby30 | 31/03/2024 | 31/03/2025 |
| Ruby 2.7 | ruby27 | google-18-full | google-18-full/ruby27 | 30/01/2024 | 30/01/2025 |
| Ruby 2.6 | ruby26 | google-18-full | google-18-full/ruby26 | 30/01/2024 | 30/01/2025 |
PHP
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| PHP 8.5 | php85 | google-24-full (predefinito) | google-24-full/php85 | 2029-12-31 | 2030-06-30 |
| PHP 8.4 | php84 | google-22-full (predefinito) | google-22-full/php84 | 31/12/2028 | 30/06/2029 |
| PHP 8.3 | php83 | google-22-full (predefinito) | google-22-full/php83 | 31/12/2027 | 30/06/2028 |
| PHP 8.2 | php82 | google-22-full (predefinito) | google-22-full/php82 | 31/12/2026 | 30/06/2027 |
| PHP 8.1 | php81 | google-18-full | google-18-full/php81 | 31/12/2025 | 30/06/2026 |
| PHP 7.4 | php74 | google-18-full | google-18-full/php74 | 30/01/2024 | 30/01/2025 |
.NET
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| .NET 10 | dotnet10 |
|
|
2028-11-14 | 2029-05-14 |
| .NET 8 | dotnet8 |
|
|
2026-11-10 | 2027-05-10 |
| .NET 6 | dotnet6 |
|
|
12/11/2024 | 12/11/2025 |
| .NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 | 30/01/2024 | 30/01/2025 |
Solo sistema operativo
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| OS only 24 | osonly24 | google-24 (predefinito) | google-24/osonly24 | 30 aprile 2029 |