ベースイメージは、オペレーティング システム スタックと言語ランタイムで構成されます。
- スタックは、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 |
|
|
Node.js 20 | nodejs20 |
|
|
Node.js 18 | 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 |
|
|
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.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 | google-18/java11 |
Ruby
ランタイム | ランタイム ID | スタック | ランタイム ベースイメージ |
---|---|---|---|
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.3 | php83 |
|
|
PHP 8.2 | 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 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |