Runtime e immagini base dei linguaggi supportati

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:

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 stesso REGION in cui è dipiegato il servizio. Ti consigliamo di specificare RUNTIME_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 stesso REGION 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
  • 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/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
  • 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 Serie Immagine di base del runtime
    Go 1.23
    (solo anteprima)
    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 Serie Immagine di base del 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 google-18/java11

    Ruby

    Runtime ID runtime Serie Immagine di base del runtime
    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 Serie Immagine di base del runtime
    PHP 8.3 php83
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/php82
  • 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 Core

    Runtime ID runtime Serie Immagine di base del runtime
    .NET Core 8 dotnet8
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/dotnet8
  • google-22-full/dotnet8
  • .NET Core 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