このページでは、ソースからサービスまたは関数をデプロイする場合にサポートされている言語ランタイムとベースイメージ、scratch にビルドされたコンテナ イメージについて説明します。
ベースイメージは、オペレーティング システム スタックと言語ランタイムで構成されます。
- スタックは、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: 優先するリージョン。例:
europe-west1 - STACK: 使用するオペレーティング システム スタック(
google-22-fullなど) - RUNTIME_ID: 関数で使用される言語ランタイム ID(
nodejs22など)。
たとえば、europe-west1 でホストされている google-22-full スタックを使用して最新の Node.js 20 ベースイメージの完全なパスを指定するには、次の URL を使用します。
europe-west1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
| ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
|---|---|---|---|
| Node.js 24 (プレビュー版のみ) |
nodejs24 |
|
|
| Node.js 22 | nodejs22 |
|
|
| Node.js 20 | nodejs20 |
|
|
| Node.js 18 | 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 | 廃止 | 廃止 |
| Node.js 6 | nodejs6 | 廃止 | 廃止 |
Python
| ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
|---|---|---|---|
| Python 3.13 | python313 |
|
|
| Python 3.12 | python312 |
|
|
| Python 3.11 | python311 |
|
|
| Python 3.10 | 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.25 | go125 |
|
|
| Go 1.24 | go124 |
|
|
| Go 1.23 |
go123 |
|
|
| Go 1.22 | go122 |
|
|
| Go 1.21 | go121 |
|
|
| Go 1.20 | go120 |
|
|
| Go 1.19 | go119 |
|
|
| Go 1.18 | go118 |
|
|
| 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 |
|
|
| Java 17 | java17 |
|
|
| Java 11 | java11 | google-18-full | google-18-full/java11 |
Ruby
| ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
|---|---|---|---|
| Ruby 3.4 | ruby34 |
|
|
| Ruby 3.3 | ruby33 |
|
|
| Ruby 3.2 | 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.4 | php84 | google-22-full(デフォルト) | google-22-full/php84 |
| PHP 8.3 | php83 | google-22-full(デフォルト) | google-22-full/php83 |
| PHP 8.2 | php82 | google-22-full(デフォルト) | 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
| ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
|---|---|---|---|
| .NET 8 | dotnet8 |
|
|
| .NET 6 | dotnet6 |
|
|
| .NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |