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 dalla 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 dei servizi a runtime del linguaggio più recenti prima del termine 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 dei linguaggi Cloud Run vengono utilizzati per:
- Eseguire il deployment di funzioni
- Attivazione degli aggiornamenti della sicurezza automatici
- Come immagini di base per la creazione di container
Aggiornamenti della sicurezza e della manutenzione
Gli aggiornamenti della sicurezza e della manutenzione sono disponibili per i runtime linguistici in disponibilità generale. 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 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
: ti fornirà l'immagine di base per la lingua specificata utilizzando la relativa pila predefinita. L'immagine di base verrà presa da un repository nello stessoREGION
in cui è dipiegato il 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 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 della lingua utilizzato dalla funzione, ad esempio
python310
Ad esempio, per fare riferimento al percorso completo dell'immagine di base per l'immagine di base Node.js 20 più recente utilizzando lo stack google-22-full
, ospitato in us-central1
, utilizza il seguente URL:
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
Runtime | ID runtime | Serie | Immagine di base del runtime |
---|---|---|---|
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 | Dismesso | Dismesso |
Node.js 6 | nodejs6 | Dismesso | Dismesso |
Python
Runtime | ID runtime | Serie | Immagine di base del runtime |
---|---|---|---|
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 | Serie | Immagine di base del runtime |
---|---|---|---|
Go 1.23 (solo anteprima) |
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 | Serie | Immagine di base del runtime |
---|---|---|---|
Java 21 | java21 |
|
|
Java 17 | java17 |
|
|
Java 11 | java11 | google-18 | google-18/java11 |
Ruby
Runtime | ID runtime | Serie | Immagine di base del runtime |
---|---|---|---|
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 | Serie | Immagine di base del runtime |
---|---|---|---|
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
Runtime | ID runtime | Serie | Immagine di base del runtime |
---|---|---|---|
.NET Core 8 | dotnet8 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |