Environnements d'exécution de langage et images de base compatibles

Les images de base sont composées d'une pile de système d'exploitation et d'un environnement d'exécution de langage :

  • Une pile est composée d'une version de distribution Linux et de packages système, comme OpenSSL et curl.
  • L'environnement d'exécution d'un langage correspond à la version spécifique du langage de programmation utilisé par votre application.

Cloud Run est compatible avec plusieurs environnements d'exécution de langage, chacun disponible via des images de base de conteneur fournies par les packs de création Google Cloud. Les environnements d'exécution de langage ne sont compatibles que tant qu'ils sont pris en charge par leurs communautés Open Source respectives.

Il appartient au développeur de mettre à niveau les services vers des environnements d'exécution de langage plus récents avant qu'ils ne soient abandonnés. Pour en savoir plus, consultez le cycle de vie d'exécution de Cloud Run.

La stratégie de cycle de vie de Cloud Run ne s'applique pas aux conteneurs créés en dehors de Cloud Run.

Utiliser des environnements d'exécution de langage

Les environnements d'exécution de langage Cloud Run sont utilisés pour les éléments suivants :

Mises à jour de sécurité et de maintenance

Les mises à jour de sécurité et de maintenance sont disponibles pour les environnements d'exécution de langage en disponibilité générale. Vous pouvez appliquer ces mises à jour automatiquement ou manuellement, en fonction de la manière dont vous configurez les mises à jour de sécurité automatiques. Les mises à jour de sécurité automatiques sont activées par défaut lors du déploiement de fonctions sur Cloud Run.

Obtenir des images de base

Les images de base sont hébergées dans chaque région où Artifact Registry est disponible.

Il existe trois méthodes pour spécifier une image de base :

  • RUNTIME_ID : permet d'obtenir l'image de base pour le langage spécifié à l'aide de sa pile par défaut. L'image de base sera extraite d'un dépôt dans la même REGION que celle où votre service est déployé. Nous vous recommandons de spécifier RUNTIME_ID dans la plupart des cas.
  • STACK/RUNTIME_ID : alias du chemin d'accès complet de l'image de base. L'image de base sera extraite d'un dépôt dans la même REGION que celle où votre service est déployé. Utilisez cette option si vous avez besoin d'un package système spécifique dans la pile.
  • REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID : chemin d'accès complet à l'image de base. Utilisez cette option si vous souhaitez contrôler entièrement l'image de base spécifique et la région à partir de laquelle elle est téléchargée.

Pour les trois méthodes de spécification d'une image de base, remplacez les éléments suivants :

  • REGION par la région souhaitée, par exemple us-central1.
  • STACK par la pile de système d'exploitation souhaitée, par exemple google-22-full.
  • RUNTIME_ID par l'ID de l'environnement d'exécution de langage utilisé par votre fonction, par exemple python310.

Par exemple, pour référencer le chemin d'accès complet de l'image de base pour la dernière image de base Node.js 20 à l'aide de la pile google-22-full, hébergée dans us-central1, utilisez l'URL suivante :

us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22

Node.js

Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
Node.js 22 nodejs22
  • google-22 (par défaut)
  • google-22-full
  • google-22/nodejs22
  • google-22-full/nodejs22
  • Node.js 20 nodejs20
  • google-22 (par défaut)
  • google-22-full
  • google-22/nodejs20
  • google-22-full/nodejs20
  • Node.js 18 nodejs18
  • google-22 (par défaut)
  • 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 Hors service Hors service
    Node.js 6 nodejs6 Hors service Hors service

    Python

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    Python 3.12 python312
  • google-22 (par défaut)
  • google-22-full
  • google-22/python312
  • google-22-full/python312
  • Python 3.11 python311
  • google-22 (par défaut)
  • google-22-full
  • google-22/python311
  • google-22-full/python311
  • Python 3.10 python310
  • google-22 (par défaut)
  • 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

    Go

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    Go 1.23
    (bêta uniquement)
    go123
  • google-22 (par défaut)
  • google-22-full
  • google-22/go123
  • google-22-full/go123
  • Go 1.22 go122
  • google-22 (par défaut)
  • google-22-full
  • google-22/go122
  • google-22-full/go122
  • Go 1.21 go121
  • google-22 (par défaut)
  • google-22-full
  • google-22/go121
  • google-22-full/go121
  • Go 1.20 go120
  • google-22 (par défaut)
  • google-22-full
  • google-22/go120
  • google-22-full/go120
  • Go 1.19 go119
  • google-22 (par défaut)
  • google-22-full
  • google-22/go119
  • google-22-full/go119
  • Go 1.18 go118
  • google-22 (par défaut)
  • 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 Hors service Hors service

    Java

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    Java 21 java21
  • google-22 (par défaut)
  • google-22-full
  • google-22/java21
  • google-22-full/java21
  • Java 17 java17
  • google-22 (par défaut)
  • google-22-full
  • google-22/java17
  • google-22-full/java17
  • Java 11 java11 google-18 google-18/java11

    Ruby

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    Ruby 3.3 ruby33
  • google-22 (par défaut)
  • google-22-full
  • google-22/ruby33
  • google-22-full/ruby33
  • Ruby 3.2 ruby32
  • google-22 (par défaut)
  • 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

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    PHP 8.3 php83
  • google-22 (par défaut)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (par défaut)
  • 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

    Exécution ID d'exécution Piles Image de base de l'environnement d'exécution
    .NET Core 8 dotnet8
  • google-22 (par défaut)
  • google-22-full
  • google-22/dotnet8
  • google-22-full/dotnet8
  • .NET Core 6 dotnet6
  • google-22 (par défaut)
  • google-22-full
  • google-22/dotnet6
  • google-22-full/dotnet6
  • .NET Core 3 dotnet3 google-18-full google-18-full/dotnet3