Le immagini di base del runtime sono composte da uno stack del sistema operativo e da un linguaggio. Uno stack è costituito da una versione della distribuzione Linux e da pacchetti di sistema, come OpenSSL e curl. Il linguaggio è la versione specifica del linguaggio di programmazione utilizzato la tua applicazione.
Cloud Run supporta più runtime per i linguaggi, ognuno dei quali è disponibile tramite le immagini di base del contenitore fornite dai buildpack di Google Cloud. I runtime dei linguaggi sono supportati solo se supportati dalle rispettive comunità open source.
È responsabilità dello sviluppatore eseguire l'upgrade delle applicazioni alle versioni linguistiche più recenti prima che il runtime raggiunga la fine del supporto. Consulta le Ciclo di vita del runtime di Cloud Run per maggiori dettagli.
Il criterio del ciclo di vita di Cloud Run non si applica ai container creati al di fuori di Cloud Run.
Utilizzo dei runtime
I runtime dei linguaggi Cloud Run vengono utilizzati per:
- Eseguire il deployment delle funzioni
- Attivare gli aggiornamenti automatici della sicurezza
- Come immagini di base per la creazione di container
Aggiornamenti su manutenzione e sicurezza
Aggiornamenti della sicurezza e della manutenzione in disponibilità generale runtime dei linguaggi di programmazione. Puoi applicare questi aggiornamenti automaticamente o manualmente, a seconda di come hai configurato gli aggiornamenti automatici della sicurezza. Gli aggiornamenti automatici della sicurezza sono abilitati per impostazione predefinita quando esegui il deployment delle funzioni in Cloud Run.
Come ottenere immagini di base per il runtime
Le immagini di base del runtime della lingua sono ospitate in ogni regione in cui è disponibile Artifact Registry.
Esistono tre metodi per specificare un'immagine di base:
RUNTIME_ID
: ti fornirà l'immagine di base per la lingua specificata utilizzando la relativa pila predefinita. L'immagine di base verrà acquisita da un repository nello stessoREGION
in cui è stato eseguito il deployment del servizio. Ti consigliamo di specificareRUNTIME_ID
per la 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 è dipiegato il servizio. Utilizza le funzionalità di 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 avere il pieno controllo sull'immagine di base specifica e sulla regione da cui viene scaricata.
Per i tre metodi per specificare un'immagine di base, sostituisci:
- REGION con la regione preferita, ad esempio
us-central1
- STACK con lo stack del sistema operativo preferito,
ad esempio
google-22-full
- RUNTIME_ID con l'ID runtime utilizzato dalla funzione, ad esempio
python310
Ad esempio, per fare riferimento al percorso completo dell'immagine di base per l'ultima versione di Node.js 20
l'immagine di base con lo stack google-22-full
, ospitata in us-central1
, utilizza
seguente URL:
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
Node.js 22 (solo anteprima) |
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-completo | google-18-completo/nodjes14 |
Node.js 12 | nodejs12 | google-18-completo | google-18-full/nodjes14 |
Node.js 10 | nodejs10 | google-18-full | google-18-full/nodjes10 |
Node.js 8 | nodejs8 | Dismesso | Dismesso |
Node.js 6 | nodejs6 | Dismesso | Dismesso |
Python
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
Python 3.12 | python312 |
|
|
Python 3.11 | python311 |
|
|
Python 3.10 | python310 |
|
|
Python 3.9 | python39 | google-18-completo | google-18-full/python39 |
Python 3.8 | python38 | google-18-completo | google-18-full/python38 |
Python 3.7 | python37 | google-18-completo | google-18-full/python37 |
Vai
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
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-completo | google-18-completo/go116 |
Go 1.13 | go113 | google-18-completo | google-18-completo/go113 |
Go 1.11 | go111 | Dismesso | Dismesso |
Java
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
Java 21 | java21 |
|
|
Java 17 | java17 |
|
|
Java 11 | java11 | google-18 | google-18/java11 |
Ruby
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
Ruby 3.3 | ruby33 |
|
|
Ruby 3.2 | ruby32 |
|
|
Ruby 3.0 | ruby30 | google-18-full | google-18-completo/ruby30 |
Ruby 2.7 | ruby27 | google-18-completo | google-18-full/ruby27 |
Ruby 2.6 | ruby26 | google-18-completo | google-18-completo/ruby26 |
PHP
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
PHP 8.3 | php83 |
|
|
PHP 8.2 | php82 |
|
|
PHP 8.1 | php81 | google-18-completo | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
.NET Core
Runtime | ID runtime | Impilati | Immagine di base del runtime |
---|---|---|---|
.NET Core 8 | dotnet8 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |