サポートされている言語ランタイムとベースイメージ

ベースイメージは、オペレーティング システム スタックと言語ランタイムで構成されます。

  • スタックは、Linux ディストリビューション バージョンとシステム パッケージ(OpenSSL や curl など)で構成されます。
  • 言語ランタイムは、アプリケーションで使用されるプログラミング言語の特定のバージョンです。

Cloud Run は複数の言語ランタイムをサポートしています。各ランタイムは、Google Cloud の Buildpack で提供されるコンテナ ベースイメージから使用できます。言語ランタイムは、それぞれのオープンソース コミュニティでサポートされている場合にのみサポートされます。

サポートが終了する前に、サービスを新しい言語ランタイムにアップグレードするのはデベロッパーの責任です。詳細については、Cloud Run のランタイム ライフサイクルをご覧ください。

Cloud Run ライフサイクル ポリシーは、Cloud Run の外部でビルドされたコンテナには適用されません。

言語ランタイムの使用

Cloud Run の言語ランタイムは、次の目的で使用されます。

セキュリティとメンテナンスの更新

セキュリティとメンテナンスの更新は、一般提供の言語ランタイムで利用できます。これらの更新は、セキュリティの自動更新の構成に応じて、自動または手動で適用できます。セキュリティの自動更新は、Cloud Run に関数をデプロイするときにデフォルトで有効になります。

ベースイメージを取得する方法

ベースイメージは、Artifact Registry が利用可能なすべてのリージョンでホストされます。

ベースイメージを指定するには、次の 3 つの方法があります。

  • 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 など)。

たとえば、us-central1 でホストされている google-22-full スタックを使用して最新の Node.js 20 ベースイメージの完全なベースイメージのパスを指定するには、次の URL を使用します。

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.23
    (プレビュー版のみ)
    go123
  • google-22(デフォルト)
  • google-22-full
  • google-22/go123
  • google-22-full/go123
  • 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