支持的语言运行时和基础映像

基础映像由操作系统堆栈和语言运行时组成:

  • 堆栈由 Linux 发行版版本和系统软件包(例如 OpenSSL 和 curl)组成。
  • 语言运行时是应用使用的编程语言的特定版本。

Cloud Run 支持多语言运行时,每个运行时均通过 Google Cloud 的 Buildpack 提供的容器基础映像提供。只有在语言运行时受其各自的开源社区支持时,我们才会支持这些语言运行时。

在语言运行时达到支持期限结束之前,开发者有责任将服务升级到更高版本。如需了解详情,请参阅 Cloud Run 运行时生命周期

Cloud Run 生命周期政策不适用于在 Cloud Run 之外构建的容器。

使用语言运行时

Cloud Run 语言运行时用于以下用途:

安全和维护更新

安全和维护更新适用于正式版语言运行时。您可以自动或手动应用这些更新,具体取决于您配置自动安全更新的方式。向 Cloud Run 部署函数时,自动安全更新功能默认处于启用状态。

如何获取基础映像

基础映像托管在提供 Artifact Registry 的每个区域。

您可以通过以下三种方法指定基础映像:

  • RUNTIME_ID:使用默认栈为您提供指定语言的基础映像。系统将从部署服务的同一 REGION 中的仓库获取基础映像。在大多数情况下,我们建议您指定 RUNTIME_ID
  • STACK/RUNTIME_ID:完整基础映像路径的别名。系统将从部署服务的同一 REGION 中的仓库获取基础映像。如果您需要中的特定系统软件包,请使用此选项。
  • REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID:完整基础映像路径。如果您希望完全控制特定基础映像及其下载区域,请使用此选项。

对于指定基础图像的三种方法,请进行以下替换:

  • REGION 替换为首选区域,例如 us-central1
  • STACK 替换为首选操作系统,例如 google-22-full
  • RUNTIME_ID 替换为函数使用的语言运行时 ID,例如 python310

例如,如需引用使用 google-22-full 栈且托管在 us-central1 中的最新 Node.js 20 基础映像的完整基础映像路径,请使用以下网址:

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

Node.js

运行时 运行时 ID 堆栈 运行时基础映像
Node.js 22
(仅限预览版)
nodejs22
  • google-22(默认)
  • google-22-full
  • google-22/nodejs22
  • google-22-full/nodejs22
  • Node.js 20 nodejs20
  • google-22(默认)
  • google-22-full
  • google-22/nodejs20
  • google-22-full/nodejs20
  • Node.js 18 nodejs18
  • google-22(默认)
  • 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 已停用 已停用
    Node.js 6 nodejs6 已停用 已停用

    Python

    运行时 运行时 ID 堆栈 运行时基础映像
    Python 3.12 python312
  • google-22(默认)
  • google-22-full
  • google-22/python312
  • google-22-full/python312
  • Python 3.11 python311
  • google-22(默认)
  • google-22-full
  • google-22/python311
  • google-22-full/python311
  • Python 3.10 python310
  • google-22(默认)
  • 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

    运行时 运行时 ID 堆栈 运行时基础映像
    Go 1.22 go122
  • google-22(默认)
  • google-22-full
  • google-22/go122
  • google-22-full/go122
  • Go 1.21 go121
  • google-22(默认)
  • google-22-full
  • google-22/go121
  • google-22-full/go121
  • Go 1.20 go120
  • google-22(默认)
  • google-22-full
  • google-22/go120
  • google-22-full/go120
  • Go 1.19 go119
  • google-22(默认)
  • google-22-full
  • google-22/go119
  • google-22-full/go119
  • Go 1.18 go118
  • google-22(默认)
  • 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 已停用 已停用

    Java

    运行时 运行时 ID 堆栈 运行时基础映像
    Java 21 java21
  • google-22(默认)
  • google-22-full
  • google-22/java21
  • google-22-full/java21
  • Java 17 java17
  • google-22(默认)
  • google-22-full
  • google-22/java17
  • google-22-full/java17
  • Java 11 java11 google-18 google-18/java11

    Ruby

    运行时 运行时 ID 堆栈 运行时基础映像
    Ruby 3.3 ruby33
  • google-22(默认)
  • google-22-full
  • google-22/ruby33
  • google-22-full/ruby33
  • Ruby 3.2 ruby32
  • google-22(默认)
  • 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

    运行时 运行时 ID 堆栈 运行时基础映像
    PHP 8.3 php83
  • google-22(默认)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22(默认)
  • 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

    运行时 运行时 ID 堆栈 运行时基础映像
    .NET Core 8 dotnet8
  • google-22(默认)
  • google-22-full
  • google-22/dotnet8
  • google-22-full/dotnet8
  • .NET Core 6 dotnet6
  • google-22(默认)
  • google-22-full
  • google-22/dotnet6
  • google-22-full/dotnet6
  • .NET Core 3 dotnet3 google-18-full google-18-full/dotnet3