Runtime e immagini base dei linguaggi supportati

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:

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 stesso REGION in cui è implementato il servizio. Ti consigliamo di specificare RUNTIME_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 stesso REGION 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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/nodejs22
  • google-22-full/nodejs22
  • Node.js 20 nodejs20
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/nodejs20
  • google-22-full/nodejs20
  • Node.js 18 nodejs18
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/nodejs18
  • google-22-full/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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/python313
  • google-22-full/python313
  • Python 3.12 python312
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/python312
  • google-22-full/python312
  • Python 3.11 python311
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/python311
  • google-22-full/python311
  • Python 3.10 python310
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/python310
  • google-22-full/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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go123
  • google-22-full/go123
  • Go 1.22 go122
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go122
  • google-22-full/go122
  • Go 1.21 go121
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go121
  • google-22-full/go121
  • Go 1.20 go120
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go120
  • google-22-full/go120
  • Go 1.19 go119
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go119
  • google-22-full/go119
  • Go 1.18 go118
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/go118
  • google-22-full/go120
  • 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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/java21
  • google-22-full/java21
  • Java 17 java17
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/java17
  • google-22-full/java17
  • Java 11 java11 google-18-full google-18-full/java11

    Ruby

    Runtime ID runtime Stack Immagine di base runtime
    Ruby 3.4 ruby34
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/ruby34
  • google-22-full/ruby34
  • Ruby 3.3 ruby33
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/ruby33
  • google-22-full/ruby33
  • Ruby 3.2 ruby32
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/ruby32
  • google-22-full/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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/dotnet8
  • google-22-full/dotnet8
  • .NET 6 dotnet6
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/dotnet6
  • google-22-full/dotnet6
  • .NET Core 3 dotnet3 google-18-full google-18-full/dotnet3